home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 24 / CU Amiga Magazine's Super CD-ROM 24 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-07].iso / CUCD / Programming / MCC_NList / Developer / AutoDocs / MCC_NList.doc < prev    next >
Encoding:
Text File  |  1998-05-04  |  102.7 KB  |  2,931 lines

  1. TABLE OF CONTENTS
  2.  
  3. NList.mcc/NList.mcc
  4. NList.mcc/MUIA_NList_Active
  5. NList.mcc/MUIA_NList_AdjustHeight
  6. NList.mcc/MUIA_NList_AdjustWidth
  7. NList.mcc/MUIA_NList_AutoCopyToClip
  8. NList.mcc/MUIA_NList_AutoVisible
  9. NList.mcc/MUIA_NList_ButtonClick
  10. NList.mcc/MUIA_NList_ClickColumn
  11. NList.mcc/MUIA_NList_Columns
  12. NList.mcc/MUIA_NList_CompareHook
  13. NList.mcc/MUIA_NList_CompareHook2
  14. NList.mcc/MUIA_NList_ConstructHook
  15. NList.mcc/MUIA_NList_ConstructHook2
  16. NList.mcc/MUIA_NList_CopyColumnToClipHook
  17. NList.mcc/MUIA_NList_CopyColumnToClipHook2
  18. NList.mcc/MUIA_NList_CopyEntryToClipHook
  19. NList.mcc/MUIA_NList_CopyEntryToClipHook2
  20. NList.mcc/MUIA_NList_DefaultObjectOnClick
  21. NList.mcc/MUIA_NList_DefClickColumn
  22. NList.mcc/MUIA_NList_DestructHook
  23. NList.mcc/MUIA_NList_DestructHook2
  24. NList.mcc/MUIA_NList_DisplayHook
  25. NList.mcc/MUIA_NList_DisplayHook2
  26. NList.mcc/MUIA_NList_DisplayRecall
  27. NList.mcc/MUIA_NList_DoubleClick
  28. NList.mcc/MUIA_NList_DragColOnly
  29. NList.mcc/MUIA_NList_DragSortable
  30. NList.mcc/MUIA_NList_DragSortInsert
  31. NList.mcc/MUIA_NList_DragType
  32. NList.mcc/MUIA_NList_DropMark
  33. NList.mcc/MUIA_NList_DropType
  34. NList.mcc/MUIA_NList_Entries
  35. NList.mcc/MUIA_NList_EntryClick
  36. NList.mcc/MUIA_NList_EntryValueDependent
  37. NList.mcc/MUIA_NList_Exports
  38. NList.mcc/MUIA_NList_First
  39. NList.mcc/MUIA_NList_ForcePen
  40. NList.mcc/MUIA_NList_Format
  41. NList.mcc/MUIA_NList_Horiz_DeltaFactor
  42. NList.mcc/MUIA_NList_Horiz_Entries
  43. NList.mcc/MUIA_NList_Horiz_First
  44. NList.mcc/MUIA_NList_Horiz_Visible
  45. NList.mcc/MUIA_NList_Imports
  46. NList.mcc/MUIA_NList_Input
  47. NList.mcc/MUIA_NList_InsertPosition
  48. NList.mcc/MUIA_NList_KeepActive
  49. NList.mcc/MUIA_NList_LineHeight
  50. NList.mcc/MUIA_NList_MakeActive
  51. NList.mcc/MUIA_NList_MinColSortable
  52. NList.mcc/MUIA_NList_MinLineHeight
  53. NList.mcc/MUIA_NList_MultiClick
  54. NList.mcc/MUIA_NList_MultiClickAlone
  55. NList.mcc/MUIA_NList_MultiSelect
  56. NList.mcc/MUIA_NList_MultiTestHook
  57. NList.mcc/MUIA_NList_Pool
  58. NList.mcc/MUIA_NList_PoolPuddleSize
  59. NList.mcc/MUIA_NList_PoolThreshSize
  60. NList.mcc/MUIA_NList_PrivateData
  61. NList.mcc/MUIA_NList_Prop_DeltaFactor
  62. NList.mcc/MUIA_NList_Prop_Entries
  63. NList.mcc/MUIA_NList_Prop_First
  64. NList.mcc/MUIA_NList_Prop_Visible
  65. NList.mcc/MUIA_NList_Quiet
  66. NList.mcc/MUIA_NList_SelectChange
  67. NList.mcc/MUIA_NList_ShowDropMarks
  68. NList.mcc/MUIA_NList_SkipChars
  69. NList.mcc/MUIA_NList_SortType
  70. NList.mcc/MUIA_NList_SourceArray
  71. NList.mcc/MUIA_NList_SourceInsert
  72. NList.mcc/MUIA_NList_SourceString
  73. NList.mcc/MUIA_NList_StackCheck
  74. NList.mcc/MUIA_NList_TabSize
  75. NList.mcc/MUIA_NList_Title
  76. NList.mcc/MUIA_NList_TitleClick
  77. NList.mcc/MUIA_NList_TitleMark
  78. NList.mcc/MUIA_NList_TitleSeparator
  79. NList.mcc/MUIA_NList_TypeSelect
  80. NList.mcc/MUIA_NList_Visible
  81. NList.mcc/MUIA_NList_XXXBackground
  82. NList.mcc/MUIA_NList_XXXPen
  83. NList.mcc/MUIM_NList_Clear
  84. NList.mcc/MUIM_NList_ColWidth
  85. NList.mcc/MUIM_NList_ColToColumn
  86. NList.mcc/MUIM_NList_ColumnToCol
  87. NList.mcc/MUIM_NList_ContextMenuBuild
  88. NList.mcc/MUIM_NList_CopyTo
  89. NList.mcc/MUIM_NList_CopyToClip
  90. NList.mcc/MUIM_NList_CreateImage
  91. NList.mcc/MUIM_NList_DeleteImage
  92. NList.mcc/MUIM_NList_DoMethod
  93. NList.mcc/MUIM_NList_DropDraw
  94. NList.mcc/MUIM_NList_DropEntryDrawErase
  95. NList.mcc/MUIM_NList_DropType
  96. NList.mcc/MUIM_NList_Exchange
  97. NList.mcc/MUIM_NList_GetEntry
  98. NList.mcc/MUIM_NList_GetEntryInfo
  99. NList.mcc/MUIM_NList_GetSelectInfo
  100. NList.mcc/MUIM_NList_Insert
  101. NList.mcc/MUIM_NList_InsertSingle
  102. NList.mcc/MUIM_NList_InsertSingleWrap
  103. NList.mcc/MUIM_NList_InsertWrap
  104. NList.mcc/MUIM_NList_Jump
  105. NList.mcc/MUIM_NList_Move
  106. NList.mcc/MUIM_NList_NextSelected
  107. NList.mcc/MUIM_NList_PrevSelected
  108. NList.mcc/MUIM_NList_Redraw
  109. NList.mcc/MUIM_NList_RedrawEntry
  110. NList.mcc/MUIM_NList_Remove
  111. NList.mcc/MUIM_NList_ReplaceSingle
  112. NList.mcc/MUIM_NList_Select
  113. NList.mcc/MUIM_NList_SetColumnCol
  114. NList.mcc/MUIM_NList_Sort
  115. NList.mcc/MUIM_NList_Sort2
  116. NList.mcc/MUIM_NList_TestPos
  117. NList.mcc/MUIM_NList_UseImage
  118. NList.mcc/NList.mcc
  119.  
  120.         That MCC public custom class is very similar to the
  121.         MUI's list class.
  122.  
  123.         It handles directly most attributes which are handled
  124.         by Listview in the original couple List/Listview.
  125.  
  126.         The NListview exist anyway to provide a complete
  127.         object with scrollbars, so you should use it as child
  128.         of NListview. Anyway, you can use NList without NListview
  129.         if you don't want any builtin scrollbar.
  130.  
  131.         NOTE: NList class will not work with Listview without
  132.               some conflicts, and NListview class can't use List
  133.               as child but only NList or a NList subclass.
  134.  
  135.               MUIM_NList_TestPos and MUIM_List_TestPos are similar
  136.               but use a different struct to store data.
  137.               MUIM_List_TestPos works like with a List object.
  138.  
  139.         NOTE: Avoid as possible to do many things in MUIM_Show and
  140.               MUIM_Hide methods because when an object is in
  141.               a virtual group, your object will receive them
  142.               for each one of its moves !!!
  143.  
  144.  
  145.     Standard tags with NList special values :
  146.  
  147.         MUIA_Background   has the same meaning than
  148.                           MUIA_NList_ListBackground
  149.                           but only at init.
  150.  
  151.         MUIA_Font         is settable only at init.
  152.                           MUIV_NList_Font, MUIV_NList_Font_Little
  153.                           and MUIV_NList_Font_Fixed are special
  154.                           values usable for it (settable in prefs)
  155.                           but standard values are usable too.
  156.  
  157.         MUIA_Frame        you can override the defaults frames
  158.                           of the classe by setting it, but it will
  159.                           be overrided again by defaults if a
  160.                           set(obj,MUIA_NList_Input,bool) is made after.
  161.                           if MUIA_NList_Input is TRUE then the
  162.                           default is MUIV_Frame_InputList, if FALSE
  163.                           it's MUIV_Frame_ReadList.
  164.  
  165.         MUIA_ContextMenu
  166.         MUIM_ContextMenuBuild
  167.         MUIM_ContextMenuChoice
  168.                           read MUIM_NList_ContextMenuBuild.
  169.  
  170.     Author: Gilles Masson    (c) 1996-1997    email: masson@iut-soph.unice.fr
  171. NList.mcc/MUIA_NList_Active
  172.  
  173.     NAME
  174.         MUIA_NList_Active -- [ISGN], LONG
  175.  
  176.     SPECIAL INPUTS
  177.         MUIV_NList_Active_Off
  178.         MUIV_NList_Active_Top
  179.         MUIV_NList_Active_Bottom
  180.         MUIV_NList_Active_Up
  181.         MUIV_NList_Active_Down
  182.         MUIV_NList_Active_PageUp
  183.         MUIV_NList_Active_PageDown
  184.  
  185.     FUNCTION
  186.         Same function as List.mui/MUIA_List_Active.
  187.  
  188.     SEE ALSO
  189.         MUIA_NList_Entries, MUIA_NList_First, MUIA_NList_Visible
  190. NList.mcc/MUIA_NList_AdjustHeight
  191.  
  192.     NAME
  193.         MUIA_NList_AdjustHeight -- [I..], BOOL
  194.  
  195.     FUNCTION
  196.         Same function as List.mui/MUIA_List_AdjustHeight.
  197.  
  198.         Will adjust the nlist height if the nlist object is in a virtual
  199.         group or if MUIA_NList_SourceInsert, MUIA_NList_SourceString,
  200.         MUIA_NList_SourceArray or MUIA_List_SourceArray was used.
  201.  
  202.         When the object is in a virtual group, a re-layout of this one
  203.         will be forced when the entries number of the NList object change,
  204.         so all entries should always be visible.
  205.  
  206.     DEFAULT
  207.         FALSE
  208.  
  209.     SEE ALSO
  210.         MUIA_List_AdjustHeight, MUIA_NList_AdjustWidth
  211. NList.mcc/MUIA_NList_AdjustWidth
  212.  
  213.     NAME
  214.         MUIA_NList_AdjustWidth -- [I..], BOOL
  215.  
  216.     FUNCTION
  217.         Same function as List.mui/MUIA_List_AdjustWidth.
  218.  
  219.         Will adjust the nlist width if the nlist object is in a virtual
  220.         group or if MUIA_NList_SourceInsert, MUIA_NList_SourceString,
  221.         MUIA_NList_SourceArray or MUIA_List_SourceArray was used.
  222.  
  223.     DEFAULT
  224.         FALSE
  225.  
  226.     SEE ALSO
  227.         MUIA_List_AdjustWidth, MUIA_NList_AdjustHeight
  228. NList.mcc/MUIA_NList_AutoCopyToClip
  229.  
  230.     NAME
  231.         MUIA_NList_AutoCopyToClip -- [IS.], BOOL
  232.  
  233.     FUNCTION
  234.         If set to TRUE you can copy the selected area to the
  235.         clipboard 0 with Amiga-C and Amiga-X (Amiga-X because
  236.         i have seen that sometimes Amiga-C is a shortcut !).
  237.         (work with both Right-Amiga and Left-Amiga keys)
  238.  
  239.     DEFAULT
  240.         TRUE
  241.  
  242.     SEE ALSO
  243.         MUIA_NList_CopyColumnToClipHook, MUIA_NList_CopyEntryToClipHook,
  244.         MUIM_NList_CopyToClip
  245. NList.mcc/MUIA_NList_AutoVisible
  246.  
  247.     NAME
  248.         MUIA_NList_AutoVisible -- [ISG], BOOL
  249.  
  250.     FUNCTION
  251.         Same function as List.mui/MUIA_List_AutoVisible.
  252.  
  253.         Seting this to TRUE, the NList object will automatically and
  254.         always jump to show the active entry.
  255.  
  256.     DEFAULT
  257.         FALSE
  258.  
  259.    SEE ALSO
  260.         MUIA_List_AutoVisible, MUIA_NList_Active
  261. NList.mcc/MUIA_NList_ButtonClick
  262.  
  263.     NAME
  264.         MUIA_NList_ButtonClick -- [..GN], LONG
  265.  
  266.     FUNCTION
  267.         You'll get a notify on it each time the user
  268.         clicks one of the buttons made by ESC O[...@<n>] or ESC o[...@<n>].
  269.  
  270.         The returned value is the <n> of the clicked image/object.
  271.         (see MUIA_NList_DisplayHook for more).
  272.  
  273.         If you get that value later, it will still be <n> of the latest
  274.         image/object clicked that you'll get.
  275.  
  276.     SEE ALSO
  277.         MUIA_NList_DisplayHook, MUIA_NList_DoubleClick, MUIA_NList_MultiClick,
  278.         MUIA_NList_EntryClick, MUIA_NList_TitleClick.
  279. NList.mcc/MUIA_NList_ClickColumn
  280.  
  281.     NAME
  282.         MUIA_NList_ClickColumn -- [..G], LONG
  283.  
  284.     FUNCTION
  285.         Same function as Listview.mui/MUIA_Listview_ClickColumn.
  286.  
  287.     SEE ALSO
  288.         MUIA_Listview_ClickColumn, MUIA_NList_DefClickColumn
  289. NList.mcc/MUIA_NList_Columns
  290.  
  291.     NAME
  292.         MUIA_NList_Columns -- [ISGN], BYTE *
  293.  
  294.     FUNCTION
  295.         With this tag you can set/get the visible order of columns (as if changed
  296.         by the user). It work for all columns in one time (use MUIM_NList_SetColumnCol
  297.         if you want to exchange 2 columns).
  298.  
  299.         The value is a pointer on an BYTE array, each byte is for a column
  300.         (in the visible order) and have the value of the display hook col
  301.         which have to be displayed in it.
  302.  
  303.         The array must be ended with a -1 value.
  304.  
  305.     NOTE
  306.         The returned array is always the same :  it's its contents which change.
  307.  
  308.         You can set your own array or modify the returned one and set it, both
  309.         is ok.
  310.  
  311.         In future it will be possible to have <-1 values for hidden columns
  312.         (it's not yet implemented but you should skip those values).
  313.  
  314.     SEE ALSO
  315.         MUIM_NList_SetColumnCol, MUIM_NList_ColToColumn, MUIM_NList_ColumnToCol
  316. NList.mcc/MUIA_NList_CompareHook
  317.  
  318.     NAME
  319.         MUIA_NList_CompareHook -- [IS.], struct Hook *
  320.  
  321.     FUNCTION
  322.         Same function as List.mui/MUIA_List_CompareHook.
  323.  
  324.     SEE ALSO
  325.         MUIA_NList_ConstructHook, MUIA_NList_DestructHook
  326. NList.mcc/MUIA_NList_CompareHook2
  327.  
  328.     NAME
  329.         MUIA_NList_CompareHook2 -- [IS.], struct Hook *
  330.  
  331.     FUNCTION
  332.         Same function as MUIA_NList_CompareHook but A2 will be the object
  333.         and A1 a NList_CompareMessage struct pointer.
  334.  
  335.     SEE ALSO
  336.         MUIA_NList_CompareHook
  337. NList.mcc/MUIA_NList_ConstructHook
  338.  
  339.     NAME
  340.         MUIA_NList_ConstructHook -- [IS.], struct Hook *
  341.  
  342.     FUNCTION
  343.         Same function as List.mui/MUIA_List_ConstructHook.
  344.  
  345.         Think to finish lines entries on a \0 , \n and \r.
  346.         The list will not display anything which come after
  347.         a \n , \r or \0, so finish lines entries on a \0, \r
  348.         and \n if you dont want to waste memory.
  349.  
  350.     SPECIAL INPUTS
  351.         MUIV_NList_ConstructHook_String
  352.  
  353.         It's a builtin hook that copy a string entry.
  354.         (so original string can be trash after)
  355.         you must set MUIV_NList_DestructHook_String
  356.         too if you use it.
  357.  
  358.     SEE ALSO
  359.         MUIA_NList_DestructHook, MUIA_NList_DisplayHook
  360. NList.mcc/MUIA_NList_ConstructHook2
  361.  
  362.     NAME
  363.         MUIA_NList_ConstructHook2 -- [IS.], struct Hook *
  364.  
  365.     FUNCTION
  366.         Same function as MUIA_NList_ConstructHook but A2 will be the object
  367.         and A1 a NList_ConstructMessage struct pointer.
  368.  
  369.     SEE ALSO
  370.         MUIA_NList_ConstructHook
  371. NList.mcc/MUIA_NList_CopyColumnToClipHook
  372.  
  373.     NAME
  374.         MUIA_NList_CopyColumnToClipHook -- [IS.], struct Hook *
  375.  
  376.     FUNCTION
  377.         This hook will be called while a MUIM_NList_CopyToClip
  378.         for each column string. You'll certainly get in entry
  379.         a string given by your own MUIA_NList_DisplayHook/2, so
  380.         you must not use the same buffer for both !
  381.  
  382.         You'll get the entry num in -1 element of the given array,
  383.         elements 1 and 2 are the positions of the first selected
  384.         char and the last+1.
  385.  
  386.         You must return the pointer of the string to copy to
  387.         clipboard in element 0, a the string length in element 1.
  388.  
  389.         The builtin hook skip all ESC chars plus their next char
  390.         (and [...] for ESC-P, ESC-I, ESC-O and ESC-o), and add a
  391.         tab char between columns.
  392.  
  393.     SEE ALSO
  394.         MUIM_NList_CopyToClip, MUIA_NList_CopyEntryToClipHook,
  395.         MUIA_NList_DisplayHook
  396. NList.mcc/MUIA_NList_CopyColumnToClipHook2
  397.  
  398.     NAME
  399.         MUIA_NList_CopyColumnToClipHook2 -- [IS.], struct Hook *
  400.  
  401.     FUNCTION
  402.         Same function as MUIA_NList_CopyColumnToClipHook but A2 will be the object
  403.         and A1 a NList_CopyColumnToClipMessage struct pointer.
  404.  
  405.     SEE ALSO
  406.         MUIA_NList_CopyColumnToClipHook
  407. NList.mcc/MUIA_NList_CopyEntryToClipHook
  408.  
  409.     NAME
  410.         MUIA_NList_CopyEntryToClipHook -- [IS.], struct Hook *
  411.  
  412.     FUNCTION
  413.         This work near like MUIA_NList_DisplayHook, execpt
  414.         that it is not called when the NList object want to
  415.         display its lines but when it want to copy them
  416.         to clipboard (or other). See MUIM_NList_CopyToClip.
  417.  
  418.         You can return only one string pointer (only one
  419.         column for copy), as element 0 of the array.
  420.  
  421.         The -1 element is the entry number only when
  422.         you don't give a entry pointer to NList_CopyToClip method,
  423.         else it's -1.
  424.  
  425.         Elements 1,2,3 and 4 of the given array are first column/pos
  426.         and last column/pos which are selected.
  427.         Elements 5 and 6 are 2, 1 or 0 when the 1th and 3rd pos are
  428.         in the format preparse string, the special entry preparse string
  429.         or in the normal string for that entry/columns.
  430.  
  431.         For column, -1 is the first and -2 the last, else it's its number.
  432.         This is the number of displayed columns and not the corresponding
  433.         entry in the array return by DisplayHook. Anyway, positions are
  434.         calculated from strings returned by DisplayHook.
  435.  
  436.         For pos, -1 is left of column and -2 its end. The last pos should
  437.         not be included.
  438.  
  439.         You should use MUIA_NList_CopyColumnToClipHook unless you don't
  440.         want to be copied what is seen in the list.
  441.  
  442.     SEE ALSO
  443.         MUIM_NList_CopyToClip, MUIA_NList_CopyColumnToClipHook,
  444.         MUIA_NList_DisplayHook
  445. NList.mcc/MUIA_NList_CopyEntryToClipHook2
  446.  
  447.     NAME
  448.         MUIA_NList_CopyEntryToClipHook2 -- [IS.], struct Hook *
  449.  
  450.     FUNCTION
  451.         Same function as MUIA_NList_CopyEntryToClipHook but A2 will be the object
  452.         and A1 a NList_CopyEntryToClipMessage struct pointer.
  453.  
  454.     SEE ALSO
  455.         MUIA_NList_CopyEntryToClipHook
  456. NList.mcc/MUIA_NList_DefaultObjectOnClick
  457.  
  458.     NAME
  459.         MUIA_NList_DefaultObjectOnClick -- [IS.], BOOL
  460.  
  461.     FUNCTION
  462.         If set to TRUE, the NList object will become the
  463.         MUIA_Window_DefaultObject of its window when you
  464.         click on it, so the user will be able to control
  465.         the list with keys. The MUIA_Window_ActiveObject
  466.         will be set to None, unless the current active
  467.         object is the NList one itself or if it's the
  468.         MUIA_NList_KeepActive one.
  469.  
  470.         There is a special meaning if you use both
  471.         DefaultObjectOnClick and MUIA_NList_MakeActive.
  472.         (see MUIA_NList_MakeActive)
  473.  
  474.     DEFAULT
  475.         TRUE
  476.  
  477.     SEE ALSO
  478.         MUIA_NList_KeepActive,MUIA_NList_MakeActive
  479. NList.mcc/MUIA_NList_DefClickColumn
  480.  
  481.     NAME
  482.         MUIA_NList_DefClickColumn -- [ISG], LONG
  483.  
  484.     FUNCTION
  485.         Same function as Listview.mui/MUIA_Listview_DefClickColumn.
  486.  
  487.     SEE ALSO
  488.         MUIA_Listview_DefClickColumn, MUIA_NList_ClickColumn
  489. NList.mcc/MUIA_NList_DestructHook
  490.  
  491.     NAME
  492.         MUIA_NList_DestructHook -- [IS.], struct Hook *
  493.  
  494.     FUNCTION
  495.         Same function as List.mui/MUIA_List_DestructHook.
  496.  
  497.     SPECIAL INPUTS
  498.         MUIV_NList_DestructHook_String
  499.  
  500.         It's a builtin hook that free the string entry
  501.         previously allocated and copied by
  502.         the MUIV_NList_ConstructHook_String builtin hook.
  503.  
  504.     SEE ALSO
  505.         MUIA_NList_ConstructHook, MUIA_NList_DisplayHook
  506. NList.mcc/MUIA_NList_DestructHook2
  507.  
  508.     NAME
  509.         MUIA_NList_DestructHook2 -- [IS.], struct Hook *
  510.  
  511.     FUNCTION
  512.         Same function as MUIA_NList_DestructHook but A2 will be the object
  513.         and A1 a NList_DestructMessage struct pointer.
  514.  
  515.     SEE ALSO
  516.         MUIA_NList_DestructHook
  517. NList.mcc/MUIA_NList_DisplayHook
  518.  
  519.     NAME
  520.         MUIA_NList_DisplayHook -- [IS.], struct Hook *
  521.  
  522.     FUNCTION
  523.         Same function as List.mui/MUIA_List_DisplayHook.
  524.  
  525.         Do not modify the buffers you return in the hook anywhere
  526.         else than in the hook when called by NList.
  527.         (if you do so you MUST set MUIA_NList_DisplayRecall)
  528.  
  529.  
  530.         You should return the same thing if its called another
  531.         time with the same inputs !
  532.         The hook will be called with a pointer to the
  533.         entry to be displayed in A1 and a pointer to
  534.         a string array containing as many entries as
  535.         your list may have cols in A2.
  536.         You must fill this array with the strings that
  537.         you want to display.
  538.         The array is DISPLAY_ARRAY_MAX*2 large.
  539.         In the DISPLAY_ARRAY_MAX+col element you can set a
  540.         preparse string for the corresponding col element.
  541.         Using it you'll be able to avoid copying the string in
  542.         a buffer to add something in the beginning of the col
  543.         string.
  544.  
  545.         The display hook also gets the position of the current entry
  546.         as additional parameter. It is stored in the longword
  547.         preceding the col array (don't forget it's a LONG).
  548.         (setting that LONG value to -2 is another way to tell the object
  549.         to not consider the return string pointeur as valid next time
  550.         he will want to use it, and he will recall the hook).
  551.  
  552.         When the hook function will be called to get the title strings,
  553.         you'll get NULL in A1, and -1 as position of current entry.
  554.  
  555.  
  556.         The hook function will be called each time a line (or a part of
  557.         it) need to be drawn (and when NList need to compute lenght of
  558.         columns contents).
  559.  
  560.  
  561.         Here are the escape sequence known by the parsing of NList :
  562.               (If you use C, ESC b can be written "\033b")
  563.  
  564.         \t          Tabulation. Go to the next tab boundary of the col.
  565.                     tab positions are separated by 8 spaces by default.
  566.         ESC -       Disable text engine, following chars will be printed
  567.                     without further parsing.
  568.         ESC u       Set the soft style to underline.
  569.         ESC b       Set the soft style to bold.
  570.         ESC i       Set the soft style to italic.
  571.         ESC n       Set the soft style back to normal.
  572.         ESC <n>     Use pen number n (2..9) as front pen. n must be a valid
  573.                     DrawInfo pen as specified in "intuition/screens.h".
  574.         ESC c       Center current line. only valid at the beginning.
  575.         ESC r       Right justify current line. only valid at the beginning.
  576.         ESC l       Left justify current line. only valid at the beginning.
  577.  
  578.         These ones are new or modified :
  579.  
  580.         ESC j       Justify left and right current line. only at beginning.
  581.         ESC I[<s>]                     (ESC I[<s>|<width>|<height>,<minwidth>])
  582.                     Draw MUI image with specification <s>.
  583.                     See Image.mui/MUIA_Image_Spec for image spec definition.
  584.                     <width> and <height> should be omited because NList
  585.                     draw the image to its standard size himself now.
  586.         ESC O[<p>]                     (ESC O[<s>|<width>|<height>,<minwidth>])
  587.                     Draw the MUIM_NList_CreateImage at adress <p>.
  588.                     (<p> should be an 8 hex digits number).
  589.         ESC o[<n>]                     (ESC o[<s>|<width>|<height>,<minwidth>])
  590.                     Draw the MUIM_NList_UseImage number <n>. If the <n> UseImage
  591.                     don't exist or has been set to NULL, no image is drawn.
  592.         ESC P[]     Use default front pen.
  593.         ESC P[<n>]  Use pen number <n>. (it's a direct pen number, so you must
  594.                     make MUI_ObtainPen and MUI_ReleasePen for it yourself,
  595.                     best to do it is in Setup() and Cleanup() of a subclass).
  596.         ESC T       Draw horizontal line on top of the entry for the col.
  597.         ESC C       Draw horizontal line centered in the entry for the col.
  598.         ESC B       Draw horizontal line on bottom of the entry for the col.
  599.         ESC E       Draw horizontal line centered in the entry for the col,
  600.                     but only on the left and right of the line contents.
  601.         ESC t , ESC t[<n>] , ESC t[M<n>] , ESC t[I<n>]
  602.                     Make the ESC C and ESC E horizontal line become thick and filled
  603.                     with some color :
  604.                     default is MPEN_FILL.
  605.                     [<n>]  means than <n> is a direct pen color, like for ESC P[<n>]
  606.                     [M<n>] means that <n> is MUI pen color number (MPEN_xxx ie 0..8)
  607.                     [I<n>] means that <n> is Intuition dri pen number 0..11 (see
  608.                             "intuition/screens.h")
  609.         ESC t[N], ESC t[N<n>], ESC t[NM<n>], ESC t[NI<n>]
  610.                     Make the ESC T, ESC C,ESC B, ESC E become a single black line,
  611.                     or not black when using a <n>, M<n> or I<n> pen color.
  612.                     ('N' is for Not thick ;)
  613.  
  614.         with ESC O[] and ESC o[], you can add [...@<n>] which will make the image/object
  615.         act as a relverify button. When this "button" is released NList will notify
  616.         MUIA_NList_ButtonClick with the value <n>.
  617.  
  618.         with ESC I[], ESC O[] and ESC o[], you can add [...|<width>] or
  619.         [...|<width>|<height>] or [...|<width>|<height>,<minwidth>] or
  620.         [...,<minwidth>] where :
  621.           <width> will be the width in pixels of the image/object.
  622.                   -1  means default image width unless <minwidth> is set.
  623.                    0  means default image width.
  624.           <height> will be the height in pixels of the image/object.
  625.                   -1  means default image height (entry height is max).
  626.                    0  means entry height.
  627.           <minwidth> will be the min width in pixels before the next char/string/image.
  628.                   when present, default height become entry height and
  629.                   width become minwidth (if minwdith is bigger than image default
  630.                   width), unless you set <width> and/or <height>.
  631.           <minwidth> <width> and <height> must be a decimal number (%ld).
  632.  
  633.     SEE ALSO
  634.         MUIA_NList_Format, MUIA_Text_Contents, MUIA_List_DisplayHook,
  635.         MUIA_NList_DisplayRecall
  636. NList.mcc/MUIA_NList_DisplayHook2
  637.  
  638.     NAME
  639.         MUIA_NList_DisplayHook2 -- [IS.], struct Hook *
  640.  
  641.     FUNCTION
  642.         Same function as MUIA_NList_DisplayHook but A2 will be the object
  643.         and A1 a NList_DisplayMessage struct pointer.
  644.  
  645.     SEE ALSO
  646.         MUIA_NList_DisplayHook
  647. NList.mcc/MUIA_NList_DisplayRecall
  648.  
  649.     NAME
  650.         MUIA_NList_DisplayRecall -- [.S.], BOOL
  651.  
  652.     FUNCTION
  653.         If for some unusual reason you modify one of the buffer that
  654.         your DisplayHook function usually return anywhere else than
  655.         in the DisplayHook function when called by the NList object,
  656.         you must set it to TRUE, so the object will know it.
  657.  
  658.     SEE ALSO
  659.         MUIA_NList_DisplayHook
  660. NList.mcc/MUIA_NList_DoubleClick
  661.  
  662.     NAME
  663.         MUIA_NList_DoubleClick -- [..GN], LONG
  664.  
  665.     FUNCTION
  666.         You'll get a notify on it each time the user double
  667.         clicks on an entry in the list, or on the title.
  668.  
  669.         The value is the entry number, which will be -1 when
  670.         it's the title.
  671.  
  672.         You'll get a notify on it too when you press the 'return' key
  673.         and the NList object is active or default.
  674.  
  675.         If you get() it, you'll get the last click position, which
  676.         can be -2 if it was on nothing (ie not entry or title).
  677.  
  678.         For triple clicks and more, use MUIA_NList_MultiClick.
  679.  
  680.     NOTE
  681.         Disabled for the title when MUIA_NList_TitleClick is used.
  682.  
  683.     SEE ALSO
  684.         MUIA_NList_MultiClick, MUIA_NList_TitleClick,
  685.         MUIA_NList_EntryClick, MUIM_NList_TestPos.
  686. NList.mcc/MUIA_NList_DragColOnly
  687.  
  688.     NAME
  689.         MUIA_NList_DragColOnly -- [ISG], LONG
  690.  
  691.     FUNCTION
  692.         When set to a col number (displayhook col number, not the visible
  693.         one), only the text of that col for the selected entry will
  694.         be dragged instead of the visible part of the entry.
  695.  
  696.         Set it to -1 to come back to standard/default mode when you have
  697.         changed it !
  698. NList.mcc/MUIA_NList_DragSortable
  699.  
  700.     NAME
  701.         MUIA_NList_DragSortable -- [ISG], BOOL
  702.  
  703.     FUNCTION
  704.         Same function as List.mui/MUIA_List_DragSortable.
  705.  
  706.         DragType will be MUIV_NList_DragType_Default unless you set it.
  707.  
  708.         No need for you to set MUIA_Dropable or MUIA_Draggable.
  709.  
  710.     DEFAULT
  711.         FALSE
  712. NList.mcc/MUIA_NList_DragSortInsert
  713.  
  714.     NAME
  715.         MUIA_NList_DragSortInsert -- [..GN], BOOL
  716.  
  717.     FUNCTION
  718.         Same as MUIA_NList_InsertPosition but the notify is made only after
  719.         a MUIA_NList_DragSortable move.
  720. NList.mcc/MUIA_NList_DragType
  721.  
  722.     NAME
  723.         MUIA_NList_DragType -- [ISG], LONG
  724.  
  725.     SPECIAL INPUTS
  726.         MUIV_NList_DragType_None        no drag
  727.         MUIV_NList_DragType_Default     as set in prefs.
  728.         MUIV_NList_DragType_Immediate   drag on borders and with qualifier, and
  729.                                         immediate drag if non-multiselect mode.
  730.         MUIV_NList_DragType_Borders     drag on borders and with qualifier.
  731.         MUIV_NList_DragType_Qualifier   drag only using qualifier.
  732.  
  733.     FUNCTION
  734.         Same function as Listview.mui/MUIA_Listview_DragType.
  735.  
  736.         If you want the user to be able to drag items out of
  737.         your list, you must set this.
  738.         Don't use MUIA_Draggable with NList or NListview.
  739. NList.mcc/MUIA_NList_DropMark
  740.  
  741.     NAME
  742.         MUIA_NList_DropMark -- [..G], LONG
  743.  
  744.     FUNCTION
  745.         Same function as List.mui/MUIA_List_DropMark.
  746.  
  747.         After a successfull drop operation, this attribute holds
  748.         the position where we should insert the new entry(ies).
  749.  
  750.     SEE ALSO
  751.         MUIA_NList_DropType, MUIM_NList_DropType, MUIM_NList_DropDraw
  752. NList.mcc/MUIA_NList_DropType
  753.  
  754.     NAME
  755.         MUIA_NList_DropType -- [..G], LONG
  756.  
  757.     FUNCTION
  758.         Same function as MUIA_NList_DropMark but will return the
  759.         current DropMark type instead of the DropMark entry number.
  760.  
  761.         After a successfull drop operation, this attribute holds
  762.         the type of dropmark which where drawn.
  763.  
  764.     SEE ALSO
  765.         MUIA_NList_DropMark, MUIM_NList_DropType, MUIM_NList_DropDraw
  766. NList.mcc/MUIA_NList_Entries
  767.  
  768.     NAME
  769.         MUIA_NList_Entries -- [..GN], LONG
  770.  
  771.     FUNCTION
  772.         Same function as List.mui/MUIA_List_Entries.
  773.  
  774.     SEE ALSO
  775.         MUIA_NList_First, MUIA_NList_Visible, MUIA_NList_Active
  776. NList.mcc/MUIA_NList_EntryClick
  777.  
  778.     NAME
  779.         MUIA_NList_EntryClick -- [..GN], LONG
  780.  
  781.     FUNCTION
  782.         You'll get a notify on it each time the user click
  783.         on an entry in the list (on the title, use
  784.         MUIA_NList_TitleClick for that).
  785.  
  786.         The value is the entry number.
  787.  
  788.         You'll get a notify on it too when you press the 'return' key
  789.         and the NList object is active or default, but only if there
  790.         is no notify asked on MUIA_NList_DoubleClick.
  791.  
  792.         If you get() it, you'll get the last click position, which
  793.         can be -1 when on title and -2 if it was on nothing.
  794.  
  795.     SEE ALSO
  796.         MUIA_NList_MultiClick, MUIA_NList_TitleClick,
  797.         MUIA_NList_DoubleClick, MUIM_NList_TestPos.
  798. NList.mcc/MUIA_NList_EntryValueDependent
  799.  
  800.     NAME
  801.         MUIA_NList_EntryValueDependent -- [ISG], BOOL
  802.  
  803.     FUNCTION
  804.         If your display hook return different strings when the
  805.         entry num value change for a identical entry pointer
  806.         then you should set it.
  807.  
  808.     DEFAULT
  809.         FALSE
  810.  
  811.     SEE ALSO
  812.         MUIA_NList_DisplayHook
  813. NList.mcc/MUIA_NList_Exports
  814.  
  815.     NAME
  816.         MUIA_NList_Exports -- [ISG], LONG
  817.  
  818.     FUNCTION
  819.         Tell the NList object what parts of it's state will have to
  820.         be saved in MUIM_Export method (which is called by the
  821.         MUIM_Application_Save method if the object has a ObjectID).
  822.  
  823.     SPECIAL INPUTS
  824.         MUIV_NList_Exports_Active       save active entry number.
  825.         MUIV_NList_Exports_Selected     save selected entries numbers.
  826.         MUIV_NList_Exports_First        save first visible entry number.
  827.         MUIV_NList_Exports_ColWidth     save widths of columns.
  828.         MUIV_NList_Exports_ColOrder     save order of columns.
  829.         MUIV_NList_Exports_Cols         save all about columns (width and order actually).
  830.         MUIV_NList_Exports_All
  831.  
  832.     NOTE
  833.         MUIV_NList_Exports_Selected can make a very long export (so a big program
  834.         .cfg file) if the list has many selected entries. It take one long int
  835.         (ie 4 bytes) for each selected entry...
  836.  
  837.         Active and First are always exported by the MUIM_Export method,
  838.         having MUIV_NList_Exports_Active and MUIV_NList_Exports_First set or not.
  839.  
  840.     DEFAULT
  841.         (MUIV_NList_Exports_Active | MUIV_NList_Exports_First | MUIV_NList_Exports_Cols)
  842.  
  843.     SEE ALSO
  844.         MUIA_NList_Imports
  845. NList.mcc/MUIA_NList_First
  846.  
  847.     NAME
  848.         MUIA_NList_First -- [ISGN], LONG
  849.  
  850.     SPECIAL INPUTS
  851.         MUIV_NList_First_Top
  852.         MUIV_NList_First_Bottom
  853.         MUIV_NList_First_Up
  854.         MUIV_NList_First_Down
  855.         MUIV_NList_First_PageUp
  856.         MUIV_NList_First_PageDown
  857.  
  858.     FUNCTION
  859.         Get the number of the first visible entry.
  860.         You can set it to change the first entry you want to be visible.
  861.  
  862.     SEE ALSO
  863.         MUIA_NList_Visible, MUIA_NList_Entries, MUIA_NList_Active
  864. NList.mcc/MUIA_NList_ForcePen
  865.  
  866.     NAME
  867.         MUIA_NList_ForcePen -- [ISG], LONG
  868.  
  869.     SPECIAL INPUTS
  870.         MUIV_NList_ForcePen_On
  871.         MUIV_NList_ForcePen_Off
  872.         MUIV_NList_ForcePen_Default
  873.  
  874.     FUNCTION
  875.         Set the ForcePen mode, when on it force the 'selected pen' color
  876.         in all the selected area. Else the color is forced only at the
  877.         beginning of the area and can be changed by text escape sequences.
  878.  
  879.         The default is set by the user in the pref .mcp class.
  880.  
  881.         Getting in will give its current value.
  882. NList.mcc/MUIA_NList_Format
  883.  
  884.     NAME
  885.         MUIA_NList_Format -- [ISG], STRPTR
  886.  
  887.     FUNCTION
  888.         NList is able to handle multi column lists. To define
  889.         how many columns should be displayed and how they
  890.         should be formatted, you specify a format string.
  891.  
  892.         This format string must contain one entry for each column
  893.         you want to see. Entries are seperated by commas, one
  894.         entry is parsed via dos.library/ReadArgs().
  895.  
  896.         The template for a single entry looks like this:
  897.  
  898.         DELTA=D/N,PREPARSE=P/K,COL=C/N,BAR/S,TBAR/S,NOBAR=NB/S,
  899.         SIMPLEBAR=SBAR/S,NOTITLEBUTTON=NOTB/S,
  900.         WEIGHT=W/N,MINWIDTH=MIW/N,MAXWIDTH=MAW/N,
  901.         COLWIDTH=CW/N,MINCOLWIDTH=MICW/N,MAXCOLWIDTH=MACW/N,
  902.         PIXWIDTH=PW/N,MINPIXWIDTH=MIPW/N,MAXPIXWIDTH=MAPW/N
  903.  
  904.     First ones are like (or nearly) MUIA_List_Format ones :
  905.  
  906.         DELTA
  907.            Space in pixel between this column and the next.
  908.            the last displayed column ignores this setting.
  909.            Defaults to 4.
  910.  
  911.         PREPARSE
  912.            A preparse string for this column.
  913.  
  914.         COL
  915.            This value adjusts the col number of the current column.
  916.            Defaults to current column number (0,1,...)
  917.            You can't use identical COL values for 2 or more columns.
  918.  
  919.         BAR
  920.            Will draw a vertical bar between this and the next column.
  921.  
  922.         WEIGHT
  923.            The weight of the column. As for MUI's group.
  924.  
  925.         MINWIDTH
  926.            Minimum percentage of the list width for the current column.
  927.  
  928.         MAXWIDTH
  929.            Maximum percentage of the list width for the current column.
  930.  
  931.     These are new ones :
  932.  
  933.         TBAR
  934.            Will draw a vertical bar between this and the next column
  935.            but only in the title (ignored if BAR is set).
  936.            THIS IS A DEFAULT !
  937.  
  938.         NOBAR
  939.            Don't draw a vertical bar between this and the next column at all.
  940.  
  941.         SIMPLEBAR
  942.            Make te vertical bar a simple black one.
  943.  
  944.         NOTITLEBUTTON
  945.            Will prevent the title of the column to act as a relverify
  946.            button when you set MUIA_NList_TitleClick (or make a notify
  947.            on it).
  948.  
  949.         COLWIDTH
  950.            Wanted number of chars for the current column.
  951.            You will get as PIXWIDTH with number*font_with.
  952.            Possibly more than number chars will fit in the
  953.            column if you use proportional font, anyway you
  954.            are sure than number non italic chars will fit.
  955.  
  956.         MINCOLWIDTH
  957.            Minimum number of chars for the current column.
  958.  
  959.         MAXCOLWIDTH
  960.            Maximum number of chars for the current column.
  961.  
  962.         PIXWIDTH
  963.            Wanted number of chars for the current column.
  964.  
  965.         MINPIXWIDTH
  966.            Minimum number of chars for the current column.
  967.  
  968.         MAXPIXWIDTH
  969.            Maximum number of chars for the current column.
  970.  
  971.         Note: You will have as many columns in your list as
  972.               entries in the format string (i.e. number of
  973.               commas + 1). Empty entries, e.g. with a format
  974.               string of ",,,," are perfectly ok.
  975.  
  976.         MINPIXWIDTH, MAXPIXWIDTH, MINCOLWIDTH, MAXCOLWIDTH,
  977.         MINWIDTH and MAXWIDTH will not be used if PIXWIDTH,
  978.         or COLWIDTH is used.
  979.  
  980.         Only one of PIXWIDTH, COLWIDTH and WEIGHT will be
  981.         used, the first find in this order.
  982.         Biggest of MINPIXWIDTH, MINCOLWIDTH and MINWIDTH.
  983.         Smallest of MAXPIXWIDTH, MAXCOLWIDTH and MAXWIDTH.
  984.         If the min is bigger than the max the min will be used.
  985.  
  986.         You shoul used PIX ones only for columns with images,
  987.         and COL ones when you want to be sure to get as many
  988.         chars you want.
  989.  
  990.         All chars/images will be drawn for the last column
  991.         always, you should specify some width for it anyway
  992.         as it will be used for centered and right aligned texts !
  993.  
  994.         Default values : WEIGHT=-1, MINWIDTH=5, MAXWIDTH=10000.
  995.  
  996.         Use MINWIDTH=0 if you don't use PIXWIDTH or COLWIDTH and
  997.         don't want any min value.
  998.  
  999.         If you want to use WEIGHT values as percentage of the list
  1000.         width, just choose them to have their total being 100.
  1001.  
  1002.         WEIGHT = -1 mean that you want the column to have
  1003.         the width of the largest entry's column contents.
  1004.         MINWIDTH = -1 have the same meaning as for WEIGHT but for
  1005.         the min value.
  1006.         -1 will be replaced by 100 for the last column, anyway you
  1007.         can set -2 if you really want to force it.
  1008.  
  1009.         Be aware that it can take long time to do that when there
  1010.         are many entries since this need a call to the dislpayhook,
  1011.         parse and find real length of all entries.
  1012.         Anyway using such stuff for one or more column has the
  1013.         same overhead.
  1014.  
  1015.         The default list format is an empty string (""), this
  1016.         means a one column list without special formatting.
  1017.  
  1018.     NOTE
  1019.         Actually MUIA_NList_Format will not try to see if the new
  1020.         format is similar to previous one. It means that all
  1021.         column width will be re-computed (and all entries parsed
  1022.         if WEIGHT or MINWIDTH is -1), same for wrapping
  1023.         which will be recomputed for all entries.
  1024.         So, it's better to do it before inserting entries
  1025.         if you want to do both.
  1026.         If you want to clear, insert, and set the format, the
  1027.         best is to set the format after the clear (fastest, no
  1028.         entry to parse) and before the insert.
  1029.  
  1030.     BUGS (FEATURE)
  1031.         Currently there is a maximum of 64 columns for a list.
  1032.  
  1033.     SEE ALSO
  1034.         MUIA_NList_DisplayHook, MUIA_NList_TitleSeparator.
  1035. NList.mcc/MUIA_NList_Horiz_DeltaFactor
  1036.  
  1037.     NAME
  1038.         MUIA_NList_Horiz_DeltaFactor -- [..GN], LONG
  1039.  
  1040.     FUNCTION
  1041.         Used for NListview. You can make a notification on it
  1042.         if you want to attach your own horizontal scrollbar
  1043.         and set the increment value of scrollbar's arrows :
  1044.  
  1045.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_DeltaFactor,MUIV_EveryTime,
  1046.           SBobj, 3, MUIM_Set,MUIA_Prop_DeltaFactor,MUIV_TriggerValue);
  1047.  
  1048.     SEE ALSO
  1049.         MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_First, MUIA_NList_Horiz_Visible
  1050. NList.mcc/MUIA_NList_Horiz_Entries
  1051.  
  1052.     NAME
  1053.         MUIA_NList_Horiz_Entries -- [..GN], LONG
  1054.  
  1055.     FUNCTION
  1056.         Used for NListview. You can make a notification on it
  1057.         if you want to attach your own horizontal scrollbar :
  1058.  
  1059.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_Entries,MUIV_EveryTime,
  1060.           SBobj, 3, MUIM_Set,MUIA_Prop_Entries,MUIV_TriggerValue);
  1061.  
  1062.     SEE ALSO
  1063.         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_First, MUIA_NList_Horiz_Visible
  1064. NList.mcc/MUIA_NList_Horiz_First
  1065.  
  1066.     NAME
  1067.         MUIA_NList_Horiz_First -- [.SGN], LONG
  1068.  
  1069.     FUNCTION
  1070.         Used for NListview. You can make a notification on it
  1071.         if you want to attach your own horizontal scrollbar :
  1072.  
  1073.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_First,MUIV_EveryTime,
  1074.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_First,MUIV_TriggerValue);
  1075.         DoMethod(SBobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
  1076.           NLobj, 3, MUIM_NoNotifySet,MUIA_NList_Horiz_First,MUIV_TriggerValue);
  1077.  
  1078.     SEE ALSO
  1079.         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_Visible
  1080. NList.mcc/MUIA_NList_Horiz_Visible
  1081.  
  1082.     NAME
  1083.         MUIA_NList_Horiz_Visible -- [..GN], LONG
  1084.  
  1085.     FUNCTION
  1086.         Used for NListview. You can make a notification on it
  1087.         if you want to attach your own horizontal scrollbar :
  1088.  
  1089.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_Visible,MUIV_EveryTime,
  1090.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Visible,MUIV_TriggerValue);
  1091.  
  1092.     SEE ALSO
  1093.         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_First
  1094. NList.mcc/MUIA_NList_Imports
  1095.  
  1096.     NAME
  1097.         MUIA_NList_Imports -- [ISG], LONG
  1098.  
  1099.     FUNCTION
  1100.         Tell the NList object what parts of it's state must be loaded
  1101.         (and used) in MUIM_Import method (which is called by the
  1102.         MUIM_Application_Load method if the object has a ObjectID).
  1103.  
  1104.     SPECIAL INPUTS
  1105.         MUIV_NList_Imports_Active     load previous active entry number (and make it active).
  1106.         MUIV_NList_Imports_Selected   load previous selected entries numbers (and make them selected).
  1107.         MUIV_NList_Imports_First      load previous first visible entry number (and make it the first visible).
  1108.         MUIV_NList_Imports_ColWidth   load previous widths of columns (and set them).
  1109.         MUIV_NList_Imports_ColOrder   load previous order of columns (and set it).
  1110.         MUIV_NList_Imports_Cols       load all about columns (width and order actually).
  1111.         MUIV_NList_Imports_All
  1112.  
  1113.     DEFAULT
  1114.         (MUIV_NList_Imports_Active | MUIV_NList_Imports_First | MUIV_NList_Imports_Cols)
  1115.  
  1116.     SEE ALSO
  1117.         MUIA_NList_Exports
  1118. NList.mcc/MUIA_NList_Input
  1119.  
  1120.     NAME
  1121.         MUIA_NList_Input -- [ISG], BOOL
  1122.  
  1123.     FUNCTION
  1124.         Same function as NListview.mcc/MUIA_Listview_Input.
  1125.  
  1126.     DEFAULT
  1127.         TRUE
  1128.  
  1129.     SEE ALSO
  1130.         MUIA_NList_MultiSelect
  1131. NList.mcc/MUIA_NList_InsertPosition
  1132.  
  1133.     NAME
  1134.         MUIA_NList_InsertPosition -- [..GN], LONG
  1135.  
  1136.     FUNCTION
  1137.         Same function as List.mui/MUIA_List_InsertPosition.
  1138.  
  1139. NList.mcc/MUIA_NList_KeepActive
  1140.  
  1141.     NAME
  1142.         MUIA_NList_KeepActive -- [.S.], Obj *
  1143.  
  1144.     FUNCTION
  1145.         Usefull when MUIA_NList_DefaultObjectOnClick if you
  1146.         don't want the specified object to be desactivated.
  1147.         A NListview object set it to it's NList child at
  1148.         creation time, so you should not have to use that tag.
  1149.  
  1150.     SEE ALSO
  1151.         MUIA_NList_DefaultObjectOnClick,MUIA_NList_MakeActive
  1152. NList.mcc/MUIA_NList_LineHeight
  1153.  
  1154.     NAME
  1155.         MUIA_NList_LineHeight -- [..GN], LONG
  1156.  
  1157.     FUNCTION
  1158.         Get the current line height.
  1159. NList.mcc/MUIA_NList_MakeActive
  1160.  
  1161.     NAME
  1162.         MUIA_NList_MakeActive -- [.S.], Obj *
  1163.  
  1164.     FUNCTION
  1165.         Use it if you want an object to be activated when you click
  1166.         in the list object.
  1167.         If you want to be able to control the list with key, you
  1168.         should use MUIA_NList_DefaultObjectOnClick instead.
  1169.  
  1170.         If you use both MUIA_NList_MakeActive and
  1171.         MUIA_NList_DefaultObjectOnClick then the specified object
  1172.         will be activated only if there is already an active one.
  1173.  
  1174.         The only object which should be set should be the NListview
  1175.         parent object of the current NList one.
  1176.  
  1177.     SEE ALSO
  1178.         MUIA_NList_DefaultObjectOnClick,MUIA_NList_KeepActive
  1179. NList.mcc/MUIA_NList_MinColSortable
  1180.  
  1181.     NAME
  1182.         MUIA_NList_MinColSortable -- [ISG], LONG
  1183.  
  1184.     FUNCTION
  1185.         Sets the number of the first visible column which
  1186.         can be sorted, ie exchanged with some other one.
  1187.  
  1188.         Default is 1, making the leftmost (0) column not sortable.
  1189.  
  1190.         Just set it to a big number (100 for example) to forbid
  1191.         the columns sorting.
  1192. NList.mcc/MUIA_NList_MinLineHeight
  1193.  
  1194.     NAME
  1195.         MUIA_NList_MinLineHeight -- [IS.], LONG
  1196.  
  1197.     FUNCTION
  1198.         Same function as List.mui/MUIA_List_MinLineHeight.
  1199.  
  1200.         Sets the minimum line height for lists in pixels.
  1201.  
  1202.         If <= 0 then it's absolute value will replace the
  1203.         'Leading' value of prefs which is added to the
  1204.         font height.
  1205.  
  1206.         It seems that original MUIA_List_MinLineHeight use
  1207.         its positive value as a 'leading' one, which is not
  1208.         logical when i read its doc (!), so i do the
  1209.         change internally to get it works like with list...
  1210. NList.mcc/MUIA_NList_MultiClick
  1211.  
  1212.     NAME
  1213.         MUIA_NList_MultiClick -- [..GN], LONG
  1214.  
  1215.     FUNCTION
  1216.         You'll get a notify on it each time the user
  1217.         multiclicks more than 2 times on an entry in the
  1218.         list, or on the title. You'll get the number of
  1219.         the click (3, 4, 5...) for each. Note that you'll
  1220.         not get MUIA_NList_MultiClick for a double click;
  1221.         you must use MUIA_NList_DoubleClick for that.
  1222.         The time between each click must be less or equal
  1223.         to the double click time set in Amiga Input prefs.
  1224.  
  1225.         You can know on which entry the multiclick was made
  1226.         getting MUIA_NList_DoubleClick value.
  1227.  
  1228.         So you can make a notification on it.
  1229.  
  1230.     NOTE
  1231.         Disabled for the title when MUIA_NList_TitleClick is used.
  1232.  
  1233.     SEE ALSO
  1234.         MUIA_NList_MultiClickAlone, MUIA_NList_DoubleClick, MUIA_NList_TitleClick,
  1235.         MUIA_NList_EntryClick, MUIM_NList_TestPos.
  1236. NList.mcc/MUIA_NList_MultiClickAlone
  1237.  
  1238.     NAME
  1239.         MUIA_NList_MultiClickAlone -- [..GN], LONG
  1240.  
  1241.     FUNCTION
  1242.         You'll get a notify only for the final multiclick number,
  1243.         so if there are 3 clicks there will be only one multiclickalone
  1244.         notified, a little (max time between 2 clicks) after the 3rd one.
  1245.         It is the major change with classic MUIA_NList_DoubleClick and
  1246.         MUIA_NList_MultiClick which do the notify for all clicks.
  1247.  
  1248.         The drawback is the unavoidable delay between the last click
  1249.         and the notify.
  1250.  
  1251.         You can know on which entry the multiclickalone was made
  1252.         getting MUIA_NList_DoubleClick value.
  1253.  
  1254.         You can make a notification on it.
  1255.  
  1256.     SEE ALSO
  1257.         MUIA_NList_MultiClick, MUIA_NList_DoubleClick, MUIA_NList_TitleClick,
  1258.         MUIA_NList_EntryClick, MUIM_NList_TestPos.
  1259. NList.mcc/MUIA_NList_MultiSelect
  1260.  
  1261.     NAME
  1262.         MUIA_NList_MultiSelect -- (V7 ) [I..], LONG
  1263.  
  1264.     SPECIAL INPUTS
  1265.         MUIV_NList_MultiSelect_None
  1266.         MUIV_NList_MultiSelect_Default
  1267.         MUIV_NList_MultiSelect_Shifted
  1268.         MUIV_NList_MultiSelect_Always
  1269.  
  1270.     FUNCTION
  1271.         Same function as Listview.mui/MUIA_Listview_MultiSelect.
  1272.  
  1273.         < At the moment MultiSelect_Default is the same
  1274.         as MultiSelect_Shifted >
  1275.  
  1276.     SEE ALSO
  1277.         MUIA_NList_MultiTestHook
  1278. NList.mcc/MUIA_NList_MultiTestHook
  1279.  
  1280.     NAME
  1281.         MUIA_NList_MultiTestHook -- [IS.], struct Hook *
  1282.  
  1283.     FUNCTION
  1284.         Same function as List.mui/MUIA_List_MultiTestHook.
  1285.  
  1286.     SEE ALSO
  1287.         MUIA_NList_ConstructHook, MUIA_NList_DestructHook
  1288. NList.mcc/MUIA_NList_Pool
  1289.  
  1290.     NAME
  1291.         MUIA_NList_Pool -- [I..], APTR
  1292.  
  1293.     FUNCTION
  1294.         Same function as List.mui/MUIA_List_Pool.
  1295.  
  1296.     SEE ALSO
  1297.         MUIA_NList_PoolPuddleSize, MUIA_NList_PoolThreshSize
  1298. NList.mcc/MUIA_NList_PoolPuddleSize
  1299.  
  1300.     NAME
  1301.         MUIA_NList_PoolPuddleSize -- [I..], ULONG
  1302.  
  1303.     FUNCTION
  1304.         Same function as List.mui/MUIA_List_PoolPuddleSize.
  1305.  
  1306.     SEE ALSO
  1307.         MUIA_NList_PoolThreshSize, MUIA_NList_Pool
  1308. NList.mcc/MUIA_NList_PoolThreshSize
  1309.  
  1310.     NAME
  1311.         MUIA_NList_PoolThreshSize -- [I..], ULONG
  1312.  
  1313.     FUNCTION
  1314.         Same function as List.mui/MUIA_List_PoolThreshSize.
  1315.  
  1316.     SEE ALSO
  1317.         MUIA_NList_PoolPuddleSize, MUIA_NList_Pool
  1318. NList.mcc/MUIA_NList_PrivateData
  1319.  
  1320.     NAME
  1321.         MUIA_NList_PrivateData -- [ISG], APTR
  1322.  
  1323.     FUNCTION
  1324.         It's a private data of the object that is unused by NList.
  1325.         You can use it as you want, as for MUIA_UserData.
  1326.  
  1327.     SEE ALSO
  1328.         MUIA_NList_DisplayHook, MUIA_NList_CopyEntryToClipHook,
  1329.         MUIA_NList_CopyColumnToClipHook
  1330. NList.mcc/MUIA_NList_Prop_DeltaFactor
  1331.  
  1332.     NAME
  1333.         MUIA_NList_Prop_DeltaFactor -- [..GN], LONG
  1334.  
  1335.     FUNCTION
  1336.         Used for NListview. You can make a notification on it
  1337.         if you want to attach your own vertical scrollbar
  1338.         and set the increment value of scrollbar's arrows :
  1339.  
  1340.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_DeltaFactor,MUIV_EveryTime,
  1341.           SBobj, 3, MUIM_Set,MUIA_Prop_DeltaFactor,MUIV_TriggerValue);
  1342.  
  1343.     SEE ALSO
  1344.         MUIA_NList_Prop_Entries, MUIA_NList_Prop_First, MUIA_NList_Prop_Visible
  1345. NList.mcc/MUIA_NList_Prop_Entries
  1346.  
  1347.     NAME
  1348.         MUIA_NList_Prop_Entries -- [..GN], LONG
  1349.  
  1350.     FUNCTION
  1351.         Used for NListview. You can make a notification on it
  1352.         if you want to attach your own vertical scrollbar :
  1353.  
  1354.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_Entries,MUIV_EveryTime,
  1355.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Entries,MUIV_TriggerValue);
  1356.  
  1357.     SEE ALSO
  1358.         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_First, MUIA_NList_Prop_Visible
  1359. NList.mcc/MUIA_NList_Prop_First
  1360.  
  1361.     NAME
  1362.         MUIA_NList_Prop_First -- [.SGN], LONG
  1363.  
  1364.     FUNCTION
  1365.         Used for NListview. You can make a notification on it
  1366.         if you want to attach your own vertical scrollbar :
  1367.  
  1368.         DoMethod(NLobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
  1369.           SBobj, 3, MUIM_Set,MUIA_Prop_First,MUIV_TriggerValue);
  1370.         DoMethod(SBobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
  1371.           NLobj, 3, MUIM_Set,MUIA_Prop_First,MUIV_TriggerValue);
  1372.  
  1373.     SEE ALSO
  1374.         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_Entries, MUIA_NList_Prop_Visible
  1375. NList.mcc/MUIA_NList_Prop_Visible
  1376.  
  1377.     NAME
  1378.         MUIA_NList_Prop_Visible -- [..GN], LONG
  1379.  
  1380.     FUNCTION
  1381.         Used for NListview. You can make a notification on it
  1382.         if you want to attach your own vertical scrollbar :
  1383.  
  1384.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_Visible,MUIV_EveryTime,
  1385.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Visible,MUIV_TriggerValue);
  1386.  
  1387.     SEE ALSO
  1388.         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_Entries, MUIA_NList_Prop_First
  1389. NList.mcc/MUIA_NList_Quiet
  1390.  
  1391.     NAME
  1392.         MUIA_NList_Quiet -- [.S.], BOOL
  1393.  
  1394.     FUNCTION
  1395.         Same function as List.mui/MUIA_List_Quiet.
  1396.  
  1397.         Think about using it when you insert/remove several entries
  1398.         one by one, it will go much faster.
  1399.         In all cases all changes which can be done later are delayed.
  1400.         Quiet_Full mean that no notify caused by changes in the list will
  1401.         be made, while Quiet_Visual will done them (but delayed to after
  1402.         the Quiet_None).
  1403.  
  1404.     SPECIAL INPUTS
  1405.         MUIV_NList_Quiet_None       same as FALSE.
  1406.         MUIV_NList_Quiet_Full       all values but FALSE and MUIV_NList_Quiet_Visual (-2).
  1407.         MUIV_NList_Quiet_Visual
  1408.  
  1409.     SEE ALSO
  1410.         MUIM_NList_Insert, MUIM_NList_Remove
  1411. NList.mcc/MUIA_NList_SelectChange
  1412.  
  1413.     NAME
  1414.         MUIA_NList_SelectChange -- [...N], BOOL
  1415.  
  1416.     FUNCTION
  1417.         Same function as Listview.mui/MUIA_Listview_SelectChange.
  1418.  
  1419.         A set(NLobj,MUIA_NList_SelectChange,TRUE) is made by NList
  1420.         whenever the selection state of one or more items in the
  1421.         list is changing.
  1422.  
  1423.     DEFAULT
  1424.         FALSE
  1425.  
  1426.     SEE ALSO
  1427.         MUIA_NList_MultiSelect
  1428. NList.mcc/MUIA_NList_ShowDropMarks
  1429.  
  1430.     NAME
  1431.         MUIA_NList_ShowDropMarks -- [ISG], BOOL
  1432.  
  1433.     FUNCTION
  1434.         Same function as List.mui/MUIA_List_ShowDropMarks.
  1435.  
  1436.     DEFAULT
  1437.         FALSE
  1438.  
  1439.     SEE ALSO
  1440.         MUIA_NList_DropMark
  1441. NList.mcc/MUIA_NList_SkipChars
  1442.  
  1443.     NAME
  1444.         MUIA_NList_SkipChars -- [ISG], char *
  1445.  
  1446.     FUNCTION
  1447.         Same function as Floattext.mui/MUIA_Floattext_SkipChars.
  1448. NList.mcc/MUIA_NList_SortType
  1449.  
  1450.     NAME
  1451.         MUIA_NList_SortType -- [ISGN], LONG
  1452.  
  1453.     FUNCTION
  1454.         This value will be set in the NList_CompareMessage struct
  1455.         of MUIA_NList_CompareHook2 hook function.
  1456.  
  1457.         It is set by MUIM_NList_Sort2 method too.
  1458.  
  1459.     SEE ALSO
  1460.         MUIA_NList_CompareHook2, MUIM_NList_Sort2
  1461. NList.mcc/MUIA_NList_SourceArray
  1462.  
  1463.     NAME
  1464.         MUIA_NList_SourceArray -- [I..], APTR
  1465.  
  1466.     FUNCTION
  1467.         Same function as List.mui/MUIA_List_SourceArray.
  1468. NList.mcc/MUIA_NList_SourceInsert
  1469.  
  1470.     NAME
  1471.         MUIA_NList_SourceInsert -- [I..], struct MUIP_NList_InsertWrap *
  1472.  
  1473.     FUNCTION
  1474.         Same as DoMethod(obj,MUIM_NList_InsertWrap,...)
  1475.         with ... same as the contents of the passed struct,
  1476.         but at init.
  1477.  
  1478.     SEE ALSO
  1479.         MUIM_NList_InsertWrap
  1480. NList.mcc/MUIA_NList_SourceString
  1481.  
  1482.     NAME
  1483.         MUIA_NList_SourceString -- [I..], char *
  1484.  
  1485.     FUNCTION
  1486.         Same as
  1487.         DoMethod(obj,MUIM_List_Insert,string,-2,MUIV_NList_Insert_Bottom)
  1488.         but at init.
  1489.  
  1490.     SEE ALSO
  1491.         MUIM_List_Insert
  1492. NList.mcc/MUIA_NList_StackCheck
  1493.  
  1494.     NAME
  1495.         MUIA_NList_StackCheck -- [I..], BOOL
  1496.  
  1497.     FUNCTION
  1498.         Can be used to disable the stack checking done by NList.
  1499.         You should use it only if you make a stack exchange or if
  1500.         the stack has been changed for some other reason and is
  1501.         not compatible with the check.
  1502.  
  1503.     DEFAULT
  1504.         TRUE
  1505. NList.mcc/MUIA_NList_TabSize
  1506.  
  1507.     NAME
  1508.         MUIA_NList_TabSize -- [ISG], ULONG
  1509.  
  1510.     FUNCTION
  1511.         Same function as Floattext.mui/MUIA_Floattext_TabSize.
  1512.  
  1513.         Set how many spaces is the tabulation.
  1514.  
  1515.         Default is 8.
  1516. NList.mcc/MUIA_NList_Title
  1517.  
  1518.     NAME
  1519.         MUIA_NList_Title -- [ISG], char *
  1520.  
  1521.     FUNCTION
  1522.         Same function as List.mui/MUIA_List_Title.
  1523.  
  1524.         The title will be redraw each time you set it.
  1525.  
  1526.         When you use a display hook, its value is used as a BOOL/LONG
  1527.         which can have any value (just not NULL if you want to see it).
  1528.  
  1529.         The value returned by get() will be the same than the last one
  1530.         given in the set() or at init.
  1531.  
  1532.     SEE ALSO
  1533.         MUIA_NList_DisplayHook, MUIA_NList_TitleSeparator
  1534. NList.mcc/MUIA_NList_TitleClick
  1535.  
  1536.     NAME
  1537.         MUIA_NList_TitleClick -- [ISGN], LONG
  1538.  
  1539.     FUNCTION
  1540.         You'll get a notify on it each time the user
  1541.         clicks one the title (only if on a column, so not on the
  1542.         vertical bar column separator which is used to modify the
  1543.         column width with mouse).
  1544.  
  1545.         The returned value is the col number (display hook col number).
  1546.  
  1547.         If you get that value later, it will still be the latest
  1548.         *title* click col that you'll get.
  1549.  
  1550.         If you ask for a notify on that tag, or if you set it (with any
  1551.         value) the title will act as if each of its column titles were
  1552.         separated buttons, notifying that tag when there are released.
  1553.  
  1554.         The (released) look for those title "buttons" will be better
  1555.         if you use MUIA_NList_TitleSeparator and BAR or TBAR for each
  1556.         column in the MUIA_NList_Format string.
  1557.  
  1558.         There is no shortkeys for these custom buttons and never be,
  1559.         so think to give another way to access the related stuffs.
  1560.  
  1561.         Don't ask for customized frames for them :  there are not real
  1562.         MUI and separated buttons but directly handled by NList, and i
  1563.         found it nice as is.
  1564.  
  1565.     NOTE
  1566.         When you use MUIA_NList_TitleClick, you'll not receive
  1567.         MUIA_NList_DoubleClick and MUIA_NList_MultiClick when clicking
  1568.         on the title any more.
  1569.  
  1570.     SEE ALSO
  1571.         MUIM_NList_TestPos, MUIA_NList_DoubleClick, MUIA_NList_MultiClick,
  1572.         MUIA_NList_EntryClick, MUIA_NList_TitleSeparator, MUIA_NList_Format,
  1573.         MUIA_NList_ButtonClick, MUIM_NList_Sort2.
  1574. NList.mcc/MUIA_NList_TitleMark
  1575.  
  1576.     NAME
  1577.         MUIA_NList_TitleMark -- [ISG], LONG
  1578.  
  1579.     FUNCTION
  1580.         Draw a mark on the corresponding display hook column.
  1581.  
  1582.         The value give 2 informations :  the column and the type of mark.
  1583.  
  1584.     SPECIAL INPUTS
  1585.         MUIV_NList_TitleMark_None
  1586.         MUIV_NList_TitleMark_Down   | col
  1587.         MUIV_NList_TitleMark_Up     | col
  1588.         MUIV_NList_TitleMark_Box    | col
  1589.         MUIV_NList_TitleMark_Circle | col
  1590. NList.mcc/MUIA_NList_TitleSeparator
  1591.  
  1592.     NAME
  1593.         MUIA_NList_TitleSeparator -- [ISG], BOOL
  1594.  
  1595.     FUNCTION
  1596.         If you set it, you get an horizontal bar between the
  1597.         title and the first visible entry (only when some title
  1598.         is visible).
  1599.  
  1600.     DEFAULT
  1601.         TRUE
  1602.  
  1603.     SEE ALSO
  1604.         MUIA_NList_Title
  1605. NList.mcc/MUIA_NList_TypeSelect
  1606.  
  1607.     NAME
  1608.         MUIA_NList_TypeSelect -- [IS.], LONG
  1609.  
  1610.     SPECIAL INPUTS
  1611.         MUIV_NList_TypeSelect_Line
  1612.         MUIV_NList_TypeSelect_Char
  1613.  
  1614.     FUNCTION
  1615.         Setting this tag you can choose between the classic
  1616.         list selection by line, or using a char precision
  1617.         selection.
  1618.  
  1619.         This should be used only for textviewer like stuff,
  1620.         and never for standard lists.
  1621.         Anyway its the only way to make direct copytoclip
  1622.         of a part of a line...
  1623.  
  1624.         Default is MUIV_NList_TypeSelect_Line of course.
  1625.  
  1626.     SEE ALSO
  1627.         MUIM_NList_Select, MUIM_List_Select
  1628. NList.mcc/MUIA_NList_Visible
  1629.  
  1630.     NAME
  1631.         MUIA_NList_Visible -- [..G], LONG
  1632.  
  1633.     FUNCTION
  1634.         Same function as List.mui/MUIA_List_Visible.
  1635.  
  1636.     SEE ALSO
  1637.         MUIA_NList_First, MUIA_NList_Entries, MUIA_NList_Active
  1638. NList.mcc/MUIA_NList_XXXBackground
  1639.  
  1640.     NAME
  1641.         MUIA_NList_TitleBackground -- [ISG], LONG
  1642.         MUIA_NList_ListBackground -- [ISG], LONG
  1643.         MUIA_NList_SelectBackground -- [ISG], LONG
  1644.         MUIA_NList_CursorBackground -- [ISG], LONG
  1645.         MUIA_NList_UnselCurBackground -- [ISG], LONG
  1646.  
  1647.     FUNCTION
  1648.         You can set all backgroungs of NList with these attributes,
  1649.         look at Area.mui/MUIA_Background and Image.mui/MUIA_Image_Spec
  1650.         to see what kind of value can be used.
  1651.         Anyway, you can set the defaults with prefs and so should
  1652.         not set it yourself.
  1653. NList.mcc/MUIA_NList_XXXPen
  1654.  
  1655.     NAME
  1656.         MUIA_NList_TitlePen -- [ISG], LONG
  1657.         MUIA_NList_ListPen -- [ISG], LONG
  1658.         MUIA_NList_SelectPen -- [ISG], LONG
  1659.         MUIA_NList_CursorPen -- [ISG], LONG
  1660.         MUIA_NList_UnselCurPen -- [ISG], LONG
  1661.  
  1662.     FUNCTION
  1663.         You can set all pens of NList with these attributes, their
  1664.         value must be of the type Pendisplay.mui/MUIA_Pendisplay_Spec.
  1665.         Look at Pendisplay.mui, Area.mui/MUIA_Background and
  1666.         Image.mui/MUIA_Image_Spec.
  1667.  
  1668.         Anyway, you can set the defaults with prefs and so should
  1669.         not set it yourself.
  1670. NList.mcc/MUIM_NList_Clear
  1671.  
  1672.     NAME
  1673.         MUIM_NList_Clear --
  1674.  
  1675.     SYNOPSIS
  1676.         DoMethod(obj,MUIM_NList_Clear,);
  1677.  
  1678.     FUNCTION
  1679.         Same function as List.mui/MUIM_List_Clear.
  1680.  
  1681.     SEE ALSO
  1682.         MUIM_NList_Insert, MUIA_NList_DestructHook
  1683. NList.mcc/MUIM_NList_ColWidth
  1684.  
  1685.     NAME
  1686.         MUIM_NList_ColWidth --
  1687.  
  1688.     SYNOPSIS
  1689.         DoMethod(obj,MUIM_NList_ColWidth,LONG col,LONG width);
  1690.  
  1691.     FUNCTION
  1692.         Set a width for a col as if changed by the user with mouse, or
  1693.         reset it to its default size.
  1694.         Permit to get the user width of a col too.
  1695.  
  1696.     INPUTS
  1697.         col     number of the col (numbered as in display hook).
  1698.  
  1699.                 special value :
  1700.               MUIV_NList_ColWidth_All     will set it for all columns.
  1701.  
  1702.         width   width to set (4 is the minimum width accepted).
  1703.  
  1704.                 special values :
  1705.               MUIV_NList_ColWidth_Default reset to default.
  1706.               MUIV_NList_ColWidth_Get     set nothing, only return current.
  1707.  
  1708.     RESULT
  1709.         When a col is specified (ie not MUIV_NList_ColWidth_All), the current
  1710.         *user* width of the col will be returned :
  1711.         o -1 mean that the col has its default width, ie not set by the user
  1712.           or with this method.
  1713.         o 0  mean that the specified col is not valid.
  1714.           When MUIV_NList_ColWidth_All you'll get always 0.
  1715. NList.mcc/MUIM_NList_ColToColumn
  1716.  
  1717.     NAME
  1718.         MUIM_NList_ColToColumn --
  1719.  
  1720.     SYNOPSIS
  1721.         DoMethod(obj,MUIM_NList_ColToColumn,LONG col);
  1722.  
  1723.     FUNCTION
  1724.         converts display hook col number to visible column number.
  1725.  
  1726.     INPUTS
  1727.         col     number of the col (numbered as in display hook).
  1728.  
  1729.     RESULT
  1730.         column number, -1 if no column use that col number.
  1731.  
  1732.     SEE ALSO
  1733.         MUIM_NList_ColumnToCol, MUIM_NList_SetColumnCol, MUIA_NList_Columns
  1734. NList.mcc/MUIM_NList_ColumnToCol
  1735.  
  1736.     NAME
  1737.         MUIM_NList_ColumnToCol --
  1738.  
  1739.     SYNOPSIS
  1740.         DoMethod(obj,MUIM_NList_ColumnToCol,LONG column);
  1741.  
  1742.     FUNCTION
  1743.         converts visible column number to display hook col number.
  1744.  
  1745.     INPUTS
  1746.         column   number of the column (visible).
  1747.  
  1748.     RESULT
  1749.         col number, -1 if the column is not valid.
  1750.  
  1751.     SEE ALSO
  1752.         MUIM_NList_ColToColumn, MUIM_NList_SetColumnCol, MUIA_NList_Columns
  1753. NList.mcc/MUIM_NList_ContextMenuBuild
  1754.  
  1755.     NAME
  1756.         MUIM_NList_ContextMenuBuild --
  1757.  
  1758.     SYNOPSIS
  1759.         DoMethod(obj,MUIM_NList_ContextMenuBuild, LONG mx, LONG my, LONG pos,
  1760.                                                 LONG column, LONG flags,LONG ontop);
  1761.  
  1762.     FUNCTION
  1763.         Give possibilities to use MUIM_ContextMenuBuild builtin in NList
  1764.         and a custom context menu for a NList subclass.
  1765.  
  1766.         Here is how NList MUIM_ContextMenuBuild work :
  1767.  
  1768.         If MUIA_ContextMenu is NULL, NULL is returned (no menu).
  1769.  
  1770.         If MUIA_ContextMenu is none of special values, the supermethod is called.
  1771.  
  1772.         If MUIA_ContextMenu is MUIV_NList_ContextMenu_Never, MUIA_ContextMenu is
  1773.         set to NULL and NULL is returned.
  1774.  
  1775.         Else (it's a special value) MUIM_NList_ContextMenuBuild is called :
  1776.  
  1777.           If MUIM_NList_ContextMenuBuild return -1, NULL will be returned (no menu).
  1778.  
  1779.           If MUIM_NList_ContextMenuBuild return NULL, NList will return its own
  1780.           context menu, depending on prefs (it's the default case).
  1781.  
  1782.           If MUIM_NList_ContextMenuBuild return an menu object, NList will
  1783.           enable/disable its own menu entries in the menu if it found some,
  1784.           then return thqt object.
  1785.  
  1786.           2 special menuitems are reconized by NList, and are found by :
  1787.             DoMethod(MenuObj,MUIM_FindUData,MUIV_NList_Menu_Default_This)
  1788.           and
  1789.             DoMethod(MenuObj,MUIM_FindUData,MUIV_NList_Menu_Default_All)
  1790.  
  1791.  
  1792.  
  1793.         MUIA_ContextMenu special values are actuallly used :
  1794.  
  1795.           MUIV_NList_ContextMenu_Default   replaced by one of followings.
  1796.           MUIV_NList_ContextMenu_TopOnly   only on title/top of list.
  1797.           MUIV_NList_ContextMenu_Always    always.
  1798.           MUIV_NList_ContextMenu_Never     never, repaced by NULL after.
  1799.  
  1800.           when using MUIV_NList_ContextMenu_TopOnly NList will set MUIA_ContextMenu
  1801.           NULL/non-NULL when the mouse move, which should permit to have
  1802.           the window menu avaible when the contents menu is not visible.
  1803.  
  1804.           Anyway actually (MUI 3.8) MUI has a bug/feature which make the
  1805.           MUIA_ContextMenu being looked at only when the mouse *enter*
  1806.           within the object bounds. MUIV_NList_ContextMenu_TopOnly stuff
  1807.           will be nicer when that MUI problem is fixed...
  1808.  
  1809.         Of course if you want NList to do what has to be done when a menu item
  1810.         has been selected, your MUIM_ContextMenuChoice should call the supermethod.
  1811.  
  1812.     INPUTS (for MUIM_NList_ContextMenuBuild)
  1813.  
  1814.         mx      current mouse x.
  1815.         my      current mouse y.
  1816.         pos     entry number returned by NList_TestPos.
  1817.         column  column returned by NList_TestPos.
  1818.         flags   flags returned by NList_TestPos.
  1819.         ontop   TRUE if mouse is on title/top of the list.
  1820.  
  1821.     RESULT
  1822.         NULL, -1 or a menustrip object.
  1823.  
  1824.     EXEMPLES
  1825.         To make a ContextMenu but have the NList one appear when the
  1826.         mouse in on title/top, just set MUIA_ContextMenu,MUIV_NList_ContextMenu_Always
  1827.         and make MUIM_NList_ContextMenuBuild return NULL when ontop in TRUE (else
  1828.         return your menustrip object). Call MUIM_ContextMenuChoice supermethod too.
  1829.  
  1830.         To make your own context menu which have the same menuitems as ones
  1831.         in NList context menu, set MUIA_ContextMenu,MUIV_NList_ContextMenu_Always
  1832.         and make MUIM_NList_ContextMenuBuild return always your menustrip object.
  1833.         Make 4 menuitems in your menustrip object which will be like these :
  1834.         { NM_ITEM ,  "Default Width: this" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefWidth_This },
  1835.         { NM_ITEM ,  "Default Width: all"  , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefWidth_All },
  1836.         { NM_ITEM ,  "Default Order: this" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefOrder_This },
  1837.         { NM_ITEM ,  "Default Order: all"  , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefOrder_All },
  1838.         They will be automatically enabled/disabled as needed by NList  :)
  1839.         Call MUIM_ContextMenuChoice supermethod too.
  1840. NList.mcc/MUIM_NList_CopyTo
  1841.  
  1842.     NAME
  1843.         MUIM_NList_CopyTo --
  1844.  
  1845.     SYNOPSIS
  1846.         DoMethod(obj,MUIM_NList_CopyTo, LONG pos, char *filename,
  1847.                                         APTR *result, APTR *entries);
  1848.  
  1849.     FUNCTION
  1850.         Do a copy to clipboard from some list entries or strings.
  1851.  
  1852.     INPUTS
  1853.         pos      entry number to be copied.
  1854.                  if MUIA_NList_CopyToClipHook is specified, it's what
  1855.                  it will return which will be copied instead of just
  1856.                  using the entry pointer as a string pointer.
  1857.  
  1858.                  special values :
  1859.  
  1860.             MUIV_NList_CopyTo_Active    copy list active entry
  1861.             MUIV_NList_CopyTo_Selected  copy list selected entries
  1862.             MUIV_NList_CopyTo_All       copy all list entries
  1863.             MUIV_NList_CopyTo_Entries   copy specified entries
  1864.             MUIV_NList_CopyTo_Entry     copy specified entry
  1865.  
  1866.             a "\n" will be insert after each entry contents.
  1867.  
  1868.         filename name of the file to copy to. If NULL then the copy will be
  1869.                  done to a string (strptr).
  1870.         result   LONG pointer which fill be filled with MUIV_NLCT_Success if
  1871.                  no error occured while opening and writing in the file, else
  1872.                  it will be filled with MUIV_NLCT_OpenErr, MUIV_NLCT_WriteErr
  1873.                  or MUIV_NLCT_Failed (failed somewhere when making copy data).
  1874.  
  1875.                  if filename is NULL, result will be filled with a string pointer
  1876.                  to a string allocated by AllocVec(). Datas will have been copied
  1877.                  in that string. YOU'LL HAVE TO FREE TAHT string pointer YOURSELF,
  1878.                  with a FreeVec(). If the returned string pointer is NULL then
  1879.                  the copy failed.
  1880.         entries  pointer to some entry, string, entries array or string array.
  1881.                  Its use depend on the pos value :
  1882.                  if MUIV_NList_CopyTo_Entry   then it's an entry pointer.
  1883.                  if MUIV_NList_CopyTo_Entries then it's an entry pointer
  1884.                                               array NULL terminated.
  1885.                  else :  not used, set to NULL.
  1886.  
  1887.     EXEMPLES
  1888.         LONG result = 0;
  1889.         DoMethod(obj,MUIM_NList_CopyTo, 5, "RAM:test.txt", &result, NULL, NULL);
  1890.  
  1891.           will copy the 5th entry to file RAM:test.txt, using
  1892.           MUIA_NList_CopyToClipHook if set.
  1893.  
  1894.  
  1895.         LONG result = 0;
  1896.         DoMethod(obj,MUIM_NList_CopyTo, MUIV_NList_CopyToClip_Selected,
  1897.                                             "PRT:", &result, NULL, NULL);
  1898.           will copy all selected entries to printer, using
  1899.           MUIA_NList_CopyToClipHook for each if set.
  1900.  
  1901.  
  1902.         char *strptr = NULL;
  1903.         DoMethod(obj,MUIM_NList_CopyTo, MUIV_NList_CopyTo_All,
  1904.                                             NULL, &strptr, NULL, NULL);
  1905.           will copy all list entries to the string returned in strptr.
  1906.           you must make a FreeVec(strptr) by yourself after.
  1907.  
  1908.     SEE ALSO
  1909.         MUIM_NList_CopyToClip, MUIA_NList_CopyToClipHook
  1910. NList.mcc/MUIM_NList_CopyToClip
  1911.  
  1912.     NAME
  1913.         MUIM_NList_CopyToClip --
  1914.  
  1915.     SYNOPSIS
  1916.         DoMethod(obj,MUIM_NList_CopyToClip, LONG pos, ULONG clipnum,
  1917.                                             APTR *entries, struct Hook *hook);
  1918.  
  1919.     FUNCTION
  1920.         Do a copy to clipboard from some list entries or strings.
  1921.  
  1922.     INPUTS
  1923.         pos      entry number to be copied.
  1924.                  if MUIA_NList_CopyToClipHook is specified, it's what
  1925.                  it will return which will be copied instead of just
  1926.                  using the entry pointer as a string pointer.
  1927.  
  1928.                  special values :
  1929.  
  1930.             MUIV_NList_CopyToClip_Active    copy list active entry
  1931.             MUIV_NList_CopyToClip_Selected  copy list selected entries
  1932.             MUIV_NList_CopyToClip_All       copy all list entries
  1933.             MUIV_NList_CopyToClip_Entries   copy specified entries
  1934.             MUIV_NList_CopyToClip_Entry     copy specified entry
  1935.             MUIV_NList_CopyToClip_Strings   copy specified strings using hook
  1936.             MUIV_NList_CopyToClip_String    copy specified string using hook
  1937.  
  1938.             a "\n" will be insert after each entry contents, for all but
  1939.             MUIV_NList_CopyToClip_Strings and MUIV_NList_CopyToClip_String.
  1940.  
  1941.         clipnum  clipboard number to copy to.
  1942.         entries  pointer to some entry, string, entries array or string array.
  1943.                  Its use depend on the pos value :
  1944.                  if MUIV_NList_CopyToClip_Entry   then it's an entry pointer.
  1945.                  if MUIV_NList_CopyToClip_Entries then it's an entry pointer
  1946.                                                   array NULL terminated.
  1947.                  if MUIV_NList_CopyToClip_String  then it's a string pointer.
  1948.                  if MUIV_NList_CopyToClip_Strings then it's an string pointer
  1949.                                                   array NULL terminated.
  1950.                  else :  not used, set to NULL.
  1951.         hook     hook function which will be used (if not NULL) for
  1952.                  MUIV_NList_CopyToClip_Strings and
  1953.                  MUIV_NList_CopyToClip_String
  1954.                  instead of MUIA_NList_CopyToClipHook
  1955.                  Should be NULL most of time.
  1956.  
  1957.     EXEMPLES
  1958.         DoMethod(obj,MUIM_NList_CopyToClip, 5, 0, NULL, NULL);
  1959.           will copy the 5th entry to clipboard 0, using
  1960.           MUIA_NList_CopyToClipHook if set.
  1961.  
  1962.         DoMethod(obj,MUIM_NList_CopyToClip, MUIV_NList_CopyToClip_Selected,
  1963.                                             0, NULL, NULL);
  1964.           will copy all selected entries to clipboard 0, using
  1965.           MUIA_NList_CopyToClipHook for each if set.
  1966.  
  1967.         DoMethod(obj,MUIM_NList_CopyToClip, MUIV_NList_CopyToClip_String,
  1968.                                             0, "my string", NULL);
  1969.           will copy "my string" to clipboard 0.
  1970.  
  1971.     NOTE
  1972.         MUIV_NList_CopyToClip_Strings and MUIV_NList_CopyToClip_String
  1973.         are here to permit simple text copy to clipboard for non nlist
  1974.         object related stuff (anyway a NList object must be here to use
  1975.         them...). They can use their own hook instead of nlist one if
  1976.         non NULL, anyway look at MUIA_NList_CopyToClipHook to see how
  1977.         this hook will be used.
  1978.  
  1979.     SEE ALSO
  1980.         MUIA_NList_CopyToClipHook, MUIA_NList_CopyToClip_Key, MUIM_NList_CopyTo
  1981. NList.mcc/MUIM_NList_CreateImage
  1982.  
  1983.     NAME
  1984.         MUIM_NList_CreateImage --
  1985.  
  1986.     SYNOPSIS
  1987.         DoMethod(obj,MUIM_NList_CreateImage,Object *imgobj, ULONG flags);
  1988.  
  1989.     FUNCTION
  1990.         Same function as List.mui/MUIM_List_CreateImage.
  1991.  
  1992.         Any transparent color in the source Bitmap/Bodychunk
  1993.         object will work (except if flags is ~0L).
  1994.  
  1995.         You must use MUIM_NList_CreateImage in Setup() or after
  1996.         and MUIM_NList_DeleteImage in Cleanup() or before,
  1997.         because the mri of the NList object must be valid.
  1998.         Setup() and Cleanup() are the best because MUI_ObtainPen()
  1999.         and MUI_ReleasePen() are used, and then pens will be
  2000.         released while iconification and will be re-obtained
  2001.         if the screen change.
  2002.  
  2003.         Take a look at MUIM_NList_UseImage which is far easier to
  2004.         use.
  2005.  
  2006.         Standard flags value is 0.
  2007.  
  2008.         If flags is ~0L then FillArea will not be set to FALSE on the object
  2009.         (for any other value, FillArea is set to FALSE)
  2010.  
  2011.         If flags is ~0L for a Bitmap/Bodychunk then it will be really the
  2012.         given object which will be drawn, as for non Bitmap/Bodychunk objects.
  2013.  
  2014.  
  2015.         The imgobj can (nearly) be any object, but take care of that :
  2016.  
  2017.         - the object should not test and use user inputs, the object
  2018.           should just be able to draw itself within the _left(obj),
  2019.           _top(obj), _width(obj) and height(obj) it will have when its
  2020.           Draw method is called.
  2021.         - the object class MUST NOT be Group or subclass of it.
  2022.         - the given imgobj must not be attached to any group object
  2023.           anywhere else, because a ADDMEMBER will be done with it.
  2024.         - Each imgobj can be used with one and only one NList object.
  2025.         - you can use the return pointer with ESC O[<ptr>] and ESC o[<num>].
  2026.         - the object will receive two tags just before its Draw method will
  2027.           be called : set(imgobj,MUIA_NLIMG_EntryCurrent,current_entry_number) and
  2028.           set(imgobj,MUIA_NLIMG_EntryHeight,height_of_each_entry_of_the_list)
  2029.           which are usefull in some case to draw things (see demo example).
  2030.         - a new stuff is to use it with ESC O[<ptr>;<tag>;<value>], in that case
  2031.           a set(imgobj,tag,value) will be done just before drawing it, so
  2032.           you can make an object which will draw different things when that tag
  2033.           value is changed. Setting this tag MUST NOT make the object being
  2034.           redrawn !!!
  2035.           <tag> and <value> must both be in hexadecimal (%lx).
  2036.         - if you use ;<tag>;<value> in one ESC sequence for an imgobj, you should
  2037.           use it everywhere you use that imgobj because there is no default for it.
  2038.         - The imgobj height will always be set to the entries height.
  2039.         - The mindefheight of imgobj will become the min height for entries.
  2040.         - Think it's still a new testing stuff...
  2041.  
  2042.         Note:
  2043.           Previously the object was disposed by NList at its end, actually a call
  2044.           to MUIM_NList_DeleteImage will REMMEMBER it, and so you have to dispose
  2045.           it yourself after !
  2046.  
  2047.         Look the demo program to see a way to use it...
  2048.  
  2049.  
  2050.     RESULT
  2051.         The result you get is a struct BitMapImage pointer which
  2052.         will exist between the MUIM_NList_CreateImage and
  2053.         MUIM_NList_DeleteImage, with a valid bitmap, width and
  2054.         height for the current screen.
  2055.  
  2056.         If you use it for a non Bitmap/Bodychunk object (or with flags
  2057.         set to ~0L) then the mask and imgbmp fields of the returned
  2058.         struct BitMapImage are not valid, and obtainpens is a pointer to
  2059.         the object.
  2060.  
  2061.         The only thing you should do with it is to include it in
  2062.         \33O[%08lx]. The result may be NULL in which case NList
  2063.         was unable to create the image, but the \33O[] combination
  2064.         simply draws nothing when receiving a NULL.
  2065.  
  2066.         ATTENTION:
  2067.         The returned pointer doesn't give the same structure than
  2068.         MUIM_List_CreateImage (in standard List class) would do :
  2069.         both are not compatible at all !
  2070.  
  2071.     SEE ALSO
  2072.         MUIM_NList_DeleteImage, MUIM_NList_UseImage
  2073. NList.mcc/MUIM_NList_DeleteImage
  2074.  
  2075.     NAME
  2076.         MUIM_NList_DeleteImage --
  2077.  
  2078.     SYNOPSIS
  2079.         DoMethod(obj,MUIM_NList_DeleteImage,APTR listimg);
  2080.  
  2081.     FUNCTION
  2082.         Same function as List.mui/MUIM_List_DeleteImage.
  2083.  
  2084.         Delete the image pointer returned from MUIM_NList_CreateImage.
  2085.         Read explains in MUIM_NList_CreateImage.
  2086.  
  2087.     SEE ALSO
  2088.         MUIM_NList_CreateImage, MUIM_NList_UseImage
  2089. NList.mcc/MUIM_NList_DoMethod
  2090.  
  2091.     NAME
  2092.         MUIM_NList_DoMethod --
  2093.  
  2094.     SYNOPSIS
  2095.         DoMethod(obj,MUIM_NList_DoMethod,LONG pos,
  2096.                       APTR DestObj,ULONG FollowParams,ULONG method,...);
  2097.  
  2098.     FUNCTION
  2099.         The given method will be executed for each selected entry, the
  2100.         active entry, all entries, or one specified entry of the NList
  2101.         object.
  2102.  
  2103.         Each DoMethod() can be done on the NList object, its _app object,
  2104.         a specified object, or the entry pointer if (and only if) it's
  2105.         an object.
  2106.  
  2107.         Following arguments can be automatically adjusted for each call
  2108.         using special values, like in the MUIM_Notify method (you must
  2109.         specified the numer of following argument too, as there will be
  2110.         copied in a temporary buffer - alloced in the stack).
  2111.  
  2112.     INPUTS
  2113.         pos -           the entry number for which you want to do the method.
  2114.  
  2115.           special values :
  2116.           MUIV_NList_DoMethod_Active    do it for the active entry.
  2117.           MUIV_NList_DoMethod_Selected  do it for all selected entries.
  2118.           MUIV_NList_DoMethod_All       do it
  2119.  
  2120.         DestObj -       the object on which the method will be done.
  2121.  
  2122.           special values :
  2123.           MUIV_NList_DoMethod_Entry     use entry pointer as target object for method.
  2124.           MUIV_NList_DoMethod_Self      use the NList object as target for method.
  2125.           MUIV_NList_DoMethod_App       use the _app(NList object) as target for method.
  2126.  
  2127.         FollowParams -  the number of following parameters (including "method").
  2128.                         (maximum 40 to prevent errors and stack overflow)
  2129.  
  2130.         method -        the method which will be done.
  2131.  
  2132.         ... -           the method parameters.
  2133.  
  2134.           special values :
  2135.           MUIV_NList_EntryValue         replaced by the "current" entry pointer.
  2136.           MUIV_NList_EntryPosValue      replaced by the "current" entry number.
  2137.           MUIV_NList_SelfValue          replaced by the NList object.
  2138.           MUIV_NList_AppValue           replaced by _app(NList object)
  2139.  
  2140.     NOTES
  2141.         Don't use this to do things on the NList object when a specific way
  2142.         to do it exists (don't use it to remove entries in the nlist object
  2143.         itself for example).
  2144.  
  2145.         When using it in a notification, MUIV_TriggerValue and MUIV_TriggerValue
  2146.         special values will be replaced by the notify superclass as usual.
  2147.  
  2148.     EXAMPLES
  2149.         Insert all entries from nlist L1 to nlist L2 :
  2150.  
  2151.         DoMethod(L1, MUIM_NList_DoMethod, MUIV_NList_DoMethod_All,
  2152.           L2, 3,
  2153.           MUIM_NList_InsertSingle, MUIV_NList_EntryValue, MUIV_NList_Insert_Bottom);
  2154.  
  2155.         (it would be better to make set(L2,MUIA_NList_Quiet,TRUE) before and
  2156.          set(L2,MUIA_NList_Quiet,FALSE) after when there are many entries...)
  2157.  
  2158.  
  2159.         If the entries of nlist L1 are objects (and only in that case), you can do
  2160.         that to call a method (MUIM_Foo,x) for each selected of them :
  2161.  
  2162.         DoMethod(L1, MUIM_NList_DoMethod, MUIV_NList_DoMethod_Selected,
  2163.           MUIV_NList_DoMethod_Entry, 2,
  2164.           MUIM_Foo,x);
  2165. NList.mcc/MUIM_NList_DropDraw
  2166.  
  2167.     NAME
  2168.         MUIM_NList_DropDraw --
  2169.  
  2170.     SYNOPSIS
  2171.         DoMethod(obj,MUIM_NList_DropDraw, LONG pos, LONG type,
  2172.                                           LONG minx,LONG maxx,LONG miny,LONG maxy);
  2173.  
  2174.     FUNCTION
  2175.         This method MUST NOT be called directly !
  2176.  
  2177.         It will be called by NList, and will draw the drop mark previously fixed
  2178.         (pos and type) by MUIM_NList_DropType within the minx, maxx, miny, maxy
  2179.         in the _rp(obj) rasport. You must not draw outside of the given box,
  2180.         because only the corresponding NList entry will be refreshed to erase what
  2181.         is drawn in that method.
  2182.  
  2183.         Calling the supermethod (so the builtin MUIM_NList_DropDraw method) will draw
  2184.         the standard dropmark specified by (type & MUIV_NList_DropType_Mask), so
  2185.         MUIV_NList_DropType_None,MUIV_NList_DropType_Above,MUIV_NList_DropType_Below
  2186.         or MUIV_NList_DropType_Onto.
  2187.  
  2188.         You can draw directly in the rastport (or a clone of it) in that method,
  2189.         because it will be called from the Draw method within the DragReport in
  2190.         Refresh mode.
  2191.  
  2192.     SEE ALSO
  2193.         MUIM_NList_DropType, MUIA_NList_DropType, MUIA_NList_DropMark,
  2194.         MUIM_NList_DropEntryDrawErase
  2195. NList.mcc/MUIM_NList_DropEntryDrawErase
  2196.  
  2197.     NAME
  2198.         MUIM_NList_DropEntryDrawErase --
  2199.  
  2200.     SYNOPSIS
  2201.         DoMethod(obj,MUIM_NList_DropEntryDrawErase,LONG type,LONG drawpos,LONG erasepos);
  2202.  
  2203.     FUNCTION
  2204.         This method MUST NOT be called directly !
  2205.  
  2206.         It will be called by NList while the DragReport just before the redraw
  2207.         which will draw a new mark or erase the old one.
  2208.  
  2209.         This method can be used to change something so your displayhook will return
  2210.         something different for the marked entry, like changing its color or making
  2211.         it bold or italic.
  2212.  
  2213.         Don't call the superclass unless you know that the superclass use it.
  2214.  
  2215.         You should return 0.
  2216.  
  2217.     INPUTS
  2218.         type has the same meaning as *type in MUIM_NList_DropType, it will be useless
  2219.         in most cases (and has no meanning at all for erasepos).
  2220.  
  2221.         drawpos is the entry number which will be draw with a dropmark, -1 mean none.
  2222.  
  2223.         erasepos is the entry number which is not any more the dropmark one, -1 mean none.
  2224.  
  2225.     SEE ALSO
  2226.         MUIM_NList_DropDraw, MUIA_NList_DropType, MUIA_NList_DropMark
  2227. NList.mcc/MUIM_NList_DropType
  2228.  
  2229.     NAME
  2230.         MUIM_NList_DropType --
  2231.  
  2232.     SYNOPSIS
  2233.         DoMethod(obj,MUIM_NList_DropType, LONG *pos,LONG *type,
  2234.                                           LONG minx,LONG maxx,LONG miny,LONG maxy,
  2235.                                           LONG mousex,LONG mousey);
  2236.  
  2237.     FUNCTION
  2238.         This method MUST NOT be called directly !
  2239.  
  2240.         It will be called by NList while the DragReport, with default *pos and *type
  2241.         values depending on the drag pointer position that you can modify as you want.
  2242.  
  2243.         Default *type can be MUIV_NList_DropType_Above or MUIV_NList_DropType_Below.
  2244.         You can change it to any of MUIV_NList_DropType_None,MUIV_NList_DropType_Above,
  2245.         MUIV_NList_DropType_Below and MUIV_NList_DropType_Onto if you want, using
  2246.         the mouse position and the entry box.
  2247.  
  2248.         You can make you own *type value as soon as you don't set it in
  2249.         MUIV_NList_DropType_Mask, and so draw what you want depending on that value
  2250.         in the MUIM_NList_DropDraw method.
  2251.  
  2252.         Note that any MUIV_NList_DropType_Below *type will be changed to
  2253.         MUIV_NList_DropType_Above with a *pos incremented by 1 just after the
  2254.         return of that method.
  2255.  
  2256.         If you change the *pos, the list will be scrolled to see it (if the value is
  2257.         correct).
  2258.  
  2259.         getting MUIA_NList_DropType or MUIA_NList_DropMark will return the same values
  2260.         as *pos and *type.
  2261.  
  2262.         If your subclass is a direct NList subclass, then there is no need to call
  2263.         the supermethod which done nothing at all !
  2264.  
  2265.     SEE ALSO
  2266.         MUIM_NList_DropDraw, MUIA_NList_DropType, MUIA_NList_DropMark,
  2267.         MUIM_NList_DropEntryDrawErase
  2268. NList.mcc/MUIM_NList_Exchange
  2269.  
  2270.     NAME
  2271.         MUIM_NList_Exchange --
  2272.  
  2273.     SYNOPSIS
  2274.         DoMethod(obj,MUIM_NList_Exchange,LONG pos1, LONG pos2);
  2275.  
  2276.     FUNCTION
  2277.         Same function as List.mui/MUIM_List_Exchange.
  2278.  
  2279.         Exchange two entries in a NList object.
  2280.  
  2281.     INPUTS
  2282.         pos1 - number of the first entry.
  2283.         pos2 - number of the second entry.
  2284.  
  2285.         MUIV_NList_Exchange_Top
  2286.         MUIV_NList_Exchange_Active
  2287.         MUIV_NList_Exchange_Bottom
  2288.         MUIV_NList_Exchange_Next      only valid for second parameter
  2289.         MUIV_NList_Exchange_Previous  only valid for second parameter
  2290.  
  2291.     SEE ALSO
  2292.         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_Move
  2293. NList.mcc/MUIM_NList_GetEntry
  2294.  
  2295.     NAME
  2296.         MUIM_NList_GetEntry --
  2297.  
  2298.     SYNOPSIS
  2299.         DoMethod(obj,MUIM_NList_GetEntry,LONG pos, APTR *entry);
  2300.  
  2301.     FUNCTION
  2302.         Same function as List.mui/MUIM_List_GetEntry.
  2303.  
  2304.     SPECIAL INPUTS
  2305.         MUIV_NList_GetEntry_Active    give active entry (or NULL if none)
  2306.  
  2307.     SEE ALSO
  2308.         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_GetEntryInfo
  2309. NList.mcc/MUIM_NList_GetEntryInfo
  2310.  
  2311.     NAME
  2312.         MUIM_NList_GetEntryInfo --
  2313.  
  2314.     SYNOPSIS
  2315.         DoMethod(obj,MUIM_NList_GetEntryInfo,struct MUI_NList_GetEntryInfo *res);
  2316.  
  2317.     FUNCTION
  2318.         You get usefull informations about some entry from its number,
  2319.         or from the real line number which can be different when there
  2320.         is word wrap in the list.
  2321.  
  2322.     INPUTS
  2323.         res - pointer to a MUI_NList_GetEntryInfo struct :
  2324.               LONG pos;       number of entry you want info about */
  2325.               LONG line;      real line number */
  2326.               LONG entry_pos; entry number of returned entry ptr */
  2327.               APTR entry;     entry pointer */
  2328.               LONG wrapcol;   NOWRAP, WRAPCOLx, or WRAPPED|WRAPCOLx */
  2329.               LONG charpos;   start char number in string (unused if NOWRAP) */
  2330.               LONG charlen;   string lenght (unused if NOWRAP) */
  2331.  
  2332.               if pos is MUIV_NList_GetEntryInfo_Line then the method will
  2333.               use the line number to search infos, else line will be set
  2334.               to its correct number for the value of pos.
  2335.               entry is the entry ptr, think that if it's a word wrapped
  2336.               entry then it come from the returned entry_pos entry.
  2337.               Think too that if wrapcol tell you that it's a WRAPPED entry,
  2338.               only the WRAPCOLx col is drawn, from the charpos position
  2339.               in the string returned by DisplayHook for the column and for
  2340.               entry_pos/entry.
  2341.  
  2342.     SEE ALSO
  2343.         MUIM_NList_GetEntry
  2344. NList.mcc/MUIM_NList_GetSelectInfo
  2345.  
  2346.     NAME
  2347.         MUIM_NList_GetSelectInfo --
  2348.  
  2349.     SYNOPSIS
  2350.         DoMethod(obj,MUIM_NList_GetSelectInfo,struct MUI_NList_GetSelectInfo *res);
  2351.  
  2352.     FUNCTION
  2353.         You get usefull informations about selected entries state.
  2354.  
  2355.     INPUTS
  2356.         res - pointer to a MUI_NList_GetSelectInfo struct :
  2357.             LONG start        num of first selected *REAL* entry/line (first of wrapped from which start is issued)
  2358.             LONG end          num of last selected *REAL* entry/line (first of wrapped from which start is issued)
  2359.             LONG num          not used
  2360.             LONG start_column column of start of selection in 'start' entry
  2361.             LONG end_column   column of end of selection in 'end' entry
  2362.             LONG start_pos    char pos of start of selection in 'start_column' entry
  2363.             LONG end_pos      char pos of end of selection in 'end_column' entry
  2364.             LONG vstart       num of first visually selected entry (ie can be the 2nd or 3rd line of a word wrap entry)
  2365.             LONG vend         num of last visually selected entry (ie can be the 2nd or 3rd line of a word wrap entry)
  2366.             LONG vnum         number of visually selected entries
  2367.  
  2368.     NOTE
  2369.         If no entry is selected, then start, end, vstart, vend are -1, vnum is 0.
  2370.  
  2371.         When start_column, end_column, start_pos, end_pos are -1 then the whole line/entry/column
  2372.         is selected.
  2373.  
  2374.         start_column, end_columb, start_pos and end_pos have the same meaning than
  2375.         parameters passed to the MUIA_NList_CopyEntryToClipHook.
  2376.  
  2377.         remember than in case of automatically added word wrapped entries, only
  2378.         the concerned column have any contents. You get that case for 'vstart'
  2379.         when 'start' is different, and for 'end' when 'vend' is different.
  2380. NList.mcc/MUIM_NList_Insert
  2381.  
  2382.     NAME
  2383.         MUIM_NList_Insert --
  2384.  
  2385.     SYNOPSIS
  2386.         DoMethod(obj,MUIM_NList_Insert,APTR *entries, LONG count, LONG pos);
  2387.  
  2388.     FUNCTION
  2389.         Same function as List.mui/MUIM_List_Insert.
  2390.  
  2391.         Entry (display) contents will be display until \0 , \n or \r.
  2392.  
  2393.         You can insert a multiline string with count==-2.
  2394.  
  2395.     INPUTS
  2396.         entries - pointer to an array of pointers to be inserted.
  2397.                   Warning: This is a pointer to a pointer.
  2398.  
  2399.                   It's a pointer to string if count==-2.
  2400.  
  2401.         count   - Number of elements to be inserted. If count==-1,
  2402.                   entries will be inserted until NULL pointer in
  2403.                   the entries array is found.
  2404.  
  2405.                   If count==-2 then entries must be a string pointer
  2406.                   which can be multiline with \n , \r or \r\n separators.
  2407.                   You'll get as many entries inserted as lines in the string.
  2408.                   The end char is \0.
  2409.  
  2410.         pos     - New entries will be added in front of this entry.
  2411.                 MUIV_NList_Insert_Top     insert as first entry.
  2412.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2413.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2414.                                           sorted if necessary).
  2415.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2416.  
  2417.     SEE ALSO
  2418.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_InsertSingle
  2419.         MUIM_NList_InsertSingleWrap, MUIM_NList_InsertWrap
  2420. NList.mcc/MUIM_NList_InsertSingle
  2421.  
  2422.     NAME
  2423.         MUIM_NList_InsertSingle --
  2424.  
  2425.     SYNOPSIS
  2426.         DoMethod(obj,MUIM_NList_InsertSingle,APTR entry, LONG pos);
  2427.  
  2428.     FUNCTION
  2429.         Same function as List.mui/MUIM_List_InsertSingle.
  2430.  
  2431.     INPUTS
  2432.         entry   - item to insert.
  2433.  
  2434.         pos     - New entry will be added in front of this entry.
  2435.                 MUIV_NList_Insert_Top     insert as first entry.
  2436.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2437.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2438.                                           sorted if necessary).
  2439.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2440.  
  2441.     SEE ALSO
  2442.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
  2443.         MUIM_NList_InsertSingleWrap, MUIM_NList_InsertWrap
  2444. NList.mcc/MUIM_NList_InsertSingleWrap
  2445.  
  2446.     NAME
  2447.         MUIM_NList_InsertSingleWrap --
  2448.  
  2449.     SYNOPSIS
  2450.         DoMethod(obj,MUIM_NList_InsertSingleWrap,
  2451.                       APTR entry, LONG pos, LONG wrapcol, LONG align);
  2452.  
  2453.     FUNCTION
  2454.         Same function as MUIM_NList_InsertSingle but permit word wrap
  2455.         and alignement for the entry.
  2456.  
  2457.     INPUTS
  2458.         entry   - item to insert.
  2459.  
  2460.         pos     - New entry will be added in front of this entry.
  2461.                 MUIV_NList_Insert_Top     insert as first entry.
  2462.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2463.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2464.                                           sorted if necessary).
  2465.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2466.  
  2467.         wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
  2468.                 other col. NOWRAP if you don't want word wrap.
  2469.                 So only one of (display hook) col 0 to 6 can be wrapped.
  2470.  
  2471.         align   - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
  2472.                 be aware that align will be used if there is no escape
  2473.                 align sequence in the preparses or column entry string.
  2474.  
  2475.     SEE ALSO
  2476.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
  2477.         MUIM_NList_InsertSingle, MUIM_NList_InsertWrap
  2478. NList.mcc/MUIM_NList_InsertWrap
  2479.  
  2480.     NAME
  2481.         MUIM_NList_InsertWrap --
  2482.  
  2483.     SYNOPSIS
  2484.         DoMethod(obj,MUIM_NList_InsertWrap, APTR *entries,
  2485.                       LONG count, LONG pos, LONG wrapcol, LONG align);
  2486.  
  2487.     FUNCTION
  2488.         Same function as MUIM_NList_Insert but permit word wrap and
  2489.         alignement for the entry.
  2490.  
  2491.     INPUTS
  2492.         entries - pointer to an array of pointers to be inserted.
  2493.                   Warning: This is a pointer to a pointer.
  2494.  
  2495.                   It's a pointer to string if count==-2.
  2496.  
  2497.         count   - Number of elements to be inserted. If count==-1,
  2498.                   entries will be inserted until NULL pointer in
  2499.                   the entries array is found.
  2500.  
  2501.                   If count==-2 then entries must be a string pointer
  2502.                   which can be multiline with \n , \r or \r\n separators.
  2503.                   You'll get as many entries inserted as lines in the string.
  2504.                   The end char is \0.
  2505.  
  2506.         pos     - New entry will be added in front of this entry.
  2507.                 MUIV_NList_Insert_Top     insert as first entry.
  2508.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2509.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2510.                                           sorted if necessary).
  2511.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2512.  
  2513.         wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
  2514.                 other col. NOWRAP if you don't want word wrap.
  2515.                 So only one of (display hook) col 0 to 6 can be wrapped.
  2516.  
  2517.         align   - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
  2518.                 be aware that align will be used if there is no escape
  2519.                 align sequence in the preparses or column entry string.
  2520.  
  2521.     SEE ALSO
  2522.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
  2523.         MUIM_NList_InsertSingle, MUIM_NList_InsertSingleWrap
  2524. NList.mcc/MUIM_NList_Jump
  2525.  
  2526.     NAME
  2527.         MUIM_NList_Jump --
  2528.  
  2529.     SYNOPSIS
  2530.         DoMethod(obj,MUIM_NList_Jump,LONG pos);
  2531.  
  2532.     FUNCTION
  2533.         Same function as List.mui/MUIM_List_Jump.
  2534.  
  2535.     INPUTS
  2536.         pos - Number of the entry that should be made visible.
  2537.               Use MUIV_NList_Jump_Active to jump to the active
  2538.               entry.
  2539.  
  2540.     SEE ALSO
  2541.         MUIA_NList_Active, MUIA_NList_First
  2542. NList.mcc/MUIM_NList_Move
  2543.  
  2544.     NAME
  2545.         MUIM_NList_Move --
  2546.  
  2547.     SYNOPSIS
  2548.         DoMethod(obj,MUIM_NList_Move,LONG from, LONG to);
  2549.  
  2550.     FUNCTION
  2551.         Same function as List.mui/MUIM_List_Move.
  2552.  
  2553.     INPUTS
  2554.         pos1 - number of the first entry.
  2555.         pos2 - number of the second entry.
  2556.  
  2557.         Possible special values :
  2558.  
  2559.         MUIV_NList_Move_Top
  2560.         MUIV_NList_Move_Active
  2561.         MUIV_NList_Move_Bottom
  2562.         MUIV_NList_Move_Next        only valid for second parameter
  2563.                                     if first one is not Move_Selected
  2564.         MUIV_NList_Move_Previous    only valid for second parameter
  2565.                                     if first one is not Move_Selected
  2566.         MUIV_NList_Move_Selected    only valid for first parameter
  2567.  
  2568.     SEE ALSO
  2569.         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_Exchange
  2570. NList.mcc/MUIM_NList_NextSelected
  2571.  
  2572.     NAME
  2573.         MUIM_NList_NextSelected --
  2574.  
  2575.     SYNOPSIS
  2576.         DoMethod(obj,MUIM_NList_NextSelected,LONG *pos);
  2577.  
  2578.     FUNCTION
  2579.         Same function as List.mui/MUIM_List_NextSelected.
  2580.  
  2581.         In TypeSelect_Char mode you'll get all entries of the selected
  2582.         area, even the first and last which can be very partially selected.
  2583.  
  2584.     INPUTS
  2585.         pos - a pointer to longword that will hold the number
  2586.               of the returned entry. Must be set to
  2587.               MUIV_NList_NextSelected_Start at start of iteration.
  2588.               Is set to MUIV_NList_NextSelected_End when iteration
  2589.               is finished.
  2590.  
  2591.     SEE ALSO
  2592.         MUIM_NList_Select, MUIM_NList_PrevSelected
  2593. NList.mcc/MUIM_NList_PrevSelected
  2594.  
  2595.     NAME
  2596.         MUIM_NList_PrevSelected --
  2597.  
  2598.     SYNOPSIS
  2599.         DoMethod(obj,MUIM_NList_PrevSelected,LONG *pos);
  2600.  
  2601.     FUNCTION
  2602.         Work like MUIM_NList_NextSelected but give previous selected entry.
  2603.  
  2604.         In TypeSelect_Char mode you'll get all entries of the selected
  2605.         area, even the first and last which can be very partially selected.
  2606.  
  2607.     INPUTS
  2608.         pos - a pointer to longword that will hold the number
  2609.               of the returned entry. Must be set to
  2610.               MUIV_NList_PrevSelected_Start at start of iteration.
  2611.               Is set to MUIV_NList_PrevSelected_End when iteration
  2612.               is finished.
  2613.  
  2614.     SEE ALSO
  2615.         MUIM_NList_Select, MUIM_NList_NextSelected
  2616. NList.mcc/MUIM_NList_Redraw
  2617.  
  2618.     NAME
  2619.         MUIM_NList_Redraw --
  2620.  
  2621.     SYNOPSIS
  2622.         DoMethod(obj,MUIM_NList_Redraw,LONG pos);
  2623.  
  2624.     FUNCTION
  2625.         Same function as List.mui/MUIM_List_Redraw.
  2626.         Redraw some entry or all.
  2627.  
  2628.     INPUTS
  2629.         pos - Number of the line to redraw. When the line is not
  2630.               currently visible, nothing will happen. Specials:
  2631.               MUIV_NList_Redraw_Active   redraw the active line (if any),
  2632.               MUIV_NList_Redraw_All      redraw all lines.
  2633.               MUIV_NList_Redraw_Title    redraw the title.
  2634.  
  2635.     SEE ALSO
  2636.         MUIM_NList_RedrawEntry
  2637. NList.mcc/MUIM_NList_RedrawEntry
  2638.  
  2639.     NAME
  2640.         MUIM_NList_RedrawEntry --
  2641.  
  2642.     SYNOPSIS
  2643.         DoMethod(obj,MUIM_NList_RedrawEntry,APTR entry);
  2644.  
  2645.     FUNCTION
  2646.         Redraw some entry, like MUIM_NList_Redraw, but using the entry
  2647.         pointer instead of the entry number.
  2648.  
  2649.     INPUTS
  2650.         entry - Entry ptr of the entry (entries) you want to be redraw.
  2651.  
  2652.     SEE ALSO
  2653.         MUIM_NList_Redraw
  2654. NList.mcc/MUIM_NList_Remove
  2655.  
  2656.     NAME
  2657.         MUIM_NList_Remove --
  2658.  
  2659.     SYNOPSIS
  2660.         DoMethod(obj,MUIM_NList_Remove,LONG pos);
  2661.  
  2662.     FUNCTION
  2663.         Same function as List.mui/MUIM_List_Remove.
  2664.  
  2665.     INPUTS
  2666.         pos - number of the entry to be removed or one of
  2667.               MUIV_NList_Remove_First
  2668.               MUIV_NList_Remove_Active
  2669.               MUIV_NList_Remove_Selected
  2670.               MUIV_NList_Remove_Last
  2671.               When the active or a selected entry is removed,
  2672.               the following entry will become active.
  2673.               When the active is the removed and is the last,
  2674.               the new last become active.
  2675.  
  2676.     SEE ALSO
  2677.         MUIM_NList_Insert, MUIA_NList_DestructHook
  2678. NList.mcc/MUIM_NList_ReplaceSingle
  2679.  
  2680.     NAME
  2681.         MUIM_NList_ReplaceSingle --
  2682.  
  2683.     FUNCTION
  2684.         DoMethod(obj,MUIM_NList_ReplaceSingle,
  2685.                       APTR entry, LONG pos, LONG wrapcol, LONG align);
  2686.  
  2687.     FUNCTION
  2688.         Same function as MUIM_NList_InsertSingleWrap but replace an existing
  2689.         entry rather than inserting.
  2690.         It's better to do a direct replace than remove then insert it !
  2691.  
  2692.     INPUTS
  2693.         entry   - item to insert.
  2694.  
  2695.         pos     - New entry will be added in front of this entry.
  2696.                 MUIV_NList_Insert_Top     insert as first entry.
  2697.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2698.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2699.                                           sorted if necessary).
  2700.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2701.  
  2702.         wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
  2703.                 other col. NOWRAP if you don't want word wrap.
  2704.                 So only one of (display hook) col 0 to 6 can be wrapped.
  2705.  
  2706.         align   - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
  2707.                 be aware that align will be used if there is no escape
  2708.                 align sequence in the preparses or column entry string.
  2709.  
  2710.     SEE ALSO
  2711.         MUIM_NList_Remove, MUIM_NList_InsertSingleWrap
  2712. NList.mcc/MUIM_NList_Select
  2713.  
  2714.     NAME
  2715.         MUIM_NList_Select --
  2716.  
  2717.     SYNOPSIS
  2718.         DoMethod(obj,MUIM_NList_Select,LONG pos, LONG seltype, LONG *state);
  2719.  
  2720.     FUNCTION
  2721.         Same function as List.mui/MUIM_List_Select when in TypeSelect_Line mode.
  2722.  
  2723.         In TypeSelect_Char mode, MUIV_NList_Select_Off will clear the selected
  2724.         area (don't look what is pos). MUIV_NList_Select_On will select the
  2725.         pos entry only (can be MUIV_NList_Select_Active or MUIV_NList_Select_All).
  2726.         MUIV_NList_Select_Ask will give the number off entry in the selected area.
  2727.  
  2728.     INPUTS
  2729.  
  2730.         pos     - Number of the entry or
  2731.                   MUIV_NList_Select_Active  for the active entry.
  2732.                   MUIV_NList_Select_All     for all entries.
  2733.  
  2734.         seltype - MUIV_NList_Select_Off     unselect entry.
  2735.                   MUIV_NList_Select_On      select entry.
  2736.                   MUIV_NList_Select_Toggle  toggle entry.
  2737.                   MUIV_NList_Select_Ask     just ask about the state.
  2738.  
  2739.         state   - Pointer to a longword. If not NULL, this will
  2740.                   be filled with the current selection state.
  2741.  
  2742.     SEE ALSO
  2743.         MUIA_NList_TypeSelect, MUIA_NList_MultiTestHook
  2744. NList.mcc/MUIM_NList_SetColumnCol
  2745.  
  2746.     NAME
  2747.         MUIM_NList_SetColumnCol --
  2748.  
  2749.     SYNOPSIS
  2750.         DoMethod(obj,MUIM_NList_SetColumnCol,LONG column,LONG col);
  2751.  
  2752.     FUNCTION
  2753.         set which displayhook col is at the visible column.
  2754.  
  2755.     INPUTS
  2756.         column  number of the column (visible).
  2757.                 if MUIV_NList_SetColumnCol_Default then the given (diplayhook) col
  2758.                 will come back to its default/original (from List_Format) position.
  2759.  
  2760.         col     col number (displayhook one).
  2761.                 if MUIV_NList_SetColumnCol_Default then the given visible column
  2762.                 will come back to its default/original (from List_Format) position.
  2763.  
  2764.  
  2765.                 both set to MUIV_NList_SetColumnCol_Default make all columns
  2766.                 come back to their default/original (from List_Format) position.
  2767.  
  2768.     RESULT
  2769.         None.
  2770.  
  2771.     NOTE
  2772.         MUIM_NList_SetColumnCol always exchange the moved column with the column
  2773.         which was were it move.
  2774.  
  2775.     SEE ALSO
  2776.         MUIM_NList_ColToColumn, MUIM_NList_ColumnToCol, MUIA_NList_Columns
  2777. NList.mcc/MUIM_NList_Sort
  2778.  
  2779.     NAME
  2780.         MUIM_NList_Sort --
  2781.  
  2782.     SYNOPSIS
  2783.         DoMethod(obj,MUIM_NList_Sort);
  2784.  
  2785.     FUNCTION
  2786.         Same function as List.mui/MUIM_List_Sort.
  2787.  
  2788.     SEE ALSO
  2789.         MUIA_NList_CompareHook
  2790. NList.mcc/MUIM_NList_Sort2
  2791.  
  2792.     NAME
  2793.         MUIM_NList_Sort2 --
  2794.  
  2795.     SYNOPSIS
  2796.         DoMethod(obj,MUIM_NList_Sort2,LONG sort_type, LONG sort_type_add);
  2797.  
  2798.     FUNCTION
  2799.         Same function as MUIM_NList_Sort but will set MUIA_NList_SortType
  2800.         before starting the sort.
  2801.  
  2802.         It is really usefull only if you use MUIA_NList_CompareHook2 instead
  2803.         of classic MUIA_NList_CompareHook so your hook will be able to do
  2804.         different type of sort when NList_SortType change.
  2805.  
  2806.     INPUTS
  2807.         sort_type     - The new MUIA_NList_SortType value (see below).
  2808.  
  2809.         sort_type_add - If 0 then sort_type will be the new MUIA_NList_SortType,
  2810.                         else if current MUIA_NList_SortType & MUIV_NList_SortTypeValue_Mask
  2811.                         is same as sort_type then sort_type_add will be added to the
  2812.                         MUIA_NList_SortType value,
  2813.                         else sort_type will be the new MUIA_NList_SortType.
  2814.  
  2815.                         See examples for special values.
  2816.  
  2817.     EXAMPLES
  2818.         Many times this method will be used to sort multicolumn list in different
  2819.         ways when the user click on title buttons :
  2820.  
  2821.         DoMethod(list,MUIM_Notify,MUIA_NList_TitleClick, MUIV_EveryTime,
  2822.           list, 3, MUIM_NList_Sort, MUIV_TriggerValue, MUIV_NList_SortTypeAdd_xxx);
  2823.  
  2824.         if MUIV_NList_SortTypeAdd_None    then the hook sort_type value will be the column
  2825.                                           number.
  2826.         if MUIV_NList_SortTypeAdd_2Values then the hook sort_type value will be a cycle of
  2827.                                           values which change on each click :
  2828.                                           o Column number  (first time)
  2829.                                           o Column number + MUIV_NList_SortTypeAdd_2Values
  2830.                                           o back to column number ...
  2831.  
  2832.         if MUIV_NList_SortTypeAdd_4Values then the hook sort_type value will be a cycle of
  2833.                                           values which change on each click :
  2834.                                           o Column number  (first time)
  2835.                                           o Column number + MUIV_NList_SortTypeAdd_4Values
  2836.                                           o Column number + MUIV_NList_SortTypeAdd_4Values*2
  2837.                                           o Column number + MUIV_NList_SortTypeAdd_4Values*3
  2838.                                           o back to column number ...
  2839.     SEE ALSO
  2840.         MUIA_NList_CompareHook2, MUIM_NList_Sort, MUIA_NList_SortType
  2841. NList.mcc/MUIM_NList_TestPos
  2842.  
  2843.     NAME
  2844.         MUIM_NList_TestPos --
  2845.  
  2846.     SYNOPSIS
  2847.         DoMethod(obj,MUIM_NList_TestPos,LONG x, LONG y, struct MUI_NList_TestPos_Result *res);
  2848.  
  2849.     FUNCTION
  2850.         Find out which informations of a list which is currently
  2851.         displayed at a certain position.
  2852.  
  2853.         You must give a pointer to a valid MUI_NList_TestPos_Result struct.
  2854.  
  2855.         Set x AND y to MUI_MAXMAX to get infos about the last click position !
  2856.  
  2857.         See NList_mcc.h to know what values will be set in the struct.
  2858.  
  2859.         Preset char_number to -2 in the struct to not get char_number and char_xoffset
  2860.         informations. It's usefull if you don't need them because it will be
  2861.         faster for the method without finding them. the -2 value will stay valid
  2862.         for next call.
  2863.  
  2864.         You'll get char number from what you return from the DisplayHook if there is
  2865.         one, else from the beginning of the string/entry ptr.
  2866.  
  2867.         Be aware: if you use MUIM_List_TestPos you have to give a pointer to a
  2868.         struct MUI_List_TestPos_Result, and you'll get same infos as using a List object.
  2869.         It wasn't done as is before, makeing enforcer hits when trying to use NList
  2870.         or NFloattext with a Listview instead of a NListview (avoid it please, it's not
  2871.         done for it as Listview try to make many things itself, with possible conficts),
  2872.         because struct MUI_NList_TestPos_Result is bigger !!!
  2873.  
  2874.     NOTE
  2875.         column in the struct MUI_NList_TestPos_Result is the visible column number !
  2876. NList.mcc/MUIM_NList_UseImage
  2877.  
  2878.     NAME
  2879.         MUIM_NList_UseImage --
  2880.  
  2881.     SYNOPSIS
  2882.         DoMethod(obj,MUIM_NList_UseImage,Object *obj, ULONG imgnum, ULONG flags);
  2883.  
  2884.     FUNCTION
  2885.         If you want to use MUIM_NList_CreateImage/MUIM_NList_DeleteImage
  2886.         as you should, you must make a NList subclass which call them
  2887.         from Setup() and Cleanup(), and it's sometime complicated.
  2888.  
  2889.         To avoid that, you can use MUIM_NList_UseImage. NList will
  2890.         store the Bitmap/Bodychunk object you give and will make
  2891.         CreateImage and DeleteImage itself !
  2892.  
  2893.         MUIM_NList_UseImage can use same object as MUIM_NList_CreateImage !
  2894.  
  2895.         NULL is a valid obj. It will erase any previously UseImage
  2896.         with the same imgnum.
  2897.  
  2898.         The imgnum you give is the number that you will use in
  2899.         \33o[<n>] sequence as the <n> number.
  2900.         MUIM_NList_UseImage will accept 0 <= imgnum < 8192, anyway
  2901.         use small value if you can because an array will be allocated
  2902.         with the biggest imgnum value as size to store the
  2903.         Bitmap/Bodychunk objects.
  2904.  
  2905.         DoMethod(obj,MUIM_NList_UseImage,NULL, -1, 0) will set NULL to
  2906.         all stored objects, so you'll be able to dispose your
  2907.         Bitmap/Bodychunk objects if you want, without waiting the NList
  2908.         objet dispose.
  2909.  
  2910.         flags is the same than for MUIM_NList_CreateImage (0 unless special case).
  2911.  
  2912.     RESULT
  2913.         TRUE if succeeded to store the obj (and allocate the array
  2914.         if needed), else FALSE.
  2915.  
  2916.         There is no way to know if the MUIM_NList_CreateImage
  2917.         needed to draw will succeed/has succeeded.
  2918.  
  2919.         ATTENTION:
  2920.         The given Bitmap/Bodychunk object MUST be valid until the
  2921.         NList object is disposed or you set another object (or NULL)
  2922.         at the same imgnum !
  2923.         The Bitmap/Bodychunk object can be shared with other NList
  2924.         object because NList just use it to get informations, anyway
  2925.         you mustn't change informations of that object. If you to do
  2926.         so, do a UseImage,NULL,x , change it then do UseImage,imgobj,x
  2927.         again.
  2928.  
  2929.     SEE ALSO
  2930.         MUIM_NList_CreateImage, MUIM_NList_DeleteImage
  2931.